Реклама на сайте Advertise with us

Помогите с регуляркой

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:



С нами с 27.11.08
Сообщения: 1511
Рейтинг: 33

Ссылка на сообщениеДобавлено: 26/11/14 в 12:04       Ответить с цитатойцитата 

есть регулярка для выбора ссылок из html кода
http://.*?(?="\ )
не могу догнать как в неё всунуть признак на ссылку вида (вариант1|вариант2|вариант3)

помогите пожалуйста

Ищу работу или разовую подработку | Отличные СЕРВЕРА!!!

0
 



С нами с 17.08.11
Сообщения: 61
Рейтинг: 62

Ссылка на сообщениеДобавлено: 26/11/14 в 19:47       Ответить с цитатойцитата 

Если я правильно понял, то вот:

Код:
http://.+(?:(asd|123|lala))[^"]*


Выдирает из HTML любую http-ссылку внутри двойных ковычек, в любом месте которой есть asd, 123 или lala.

3
 



С нами с 27.11.08
Сообщения: 1511
Рейтинг: 33

Ссылка на сообщениеДобавлено: 26/11/14 в 20:42       Ответить с цитатойцитата 

ravlio: спасибо )

Ищу работу или разовую подработку | Отличные СЕРВЕРА!!!

0
 



С нами с 05.05.05
Сообщения: 1913
Рейтинг: 1134

Ссылка на сообщениеДобавлено: 27/11/14 в 13:36       Ответить с цитатойцитата 

такую не выдернет

Код:
http://smi2.mirtesen.ru/blog/43020024410/Kak-seychas-vyiglyadyat-ku…_created=1


если в условии нам надо smi2 и так же, если в условии точно внутри двойных кавычек.

(?<=")http://.*?((?i)rubrics|bulics|ww1)[^"]*(?=")

Test

Код:
<?php

$src = <<<HTML
<div class="mini" id="menu-toggler">
<div class="toggler icons-sprite icons-menu_toggler"></div>
</div>
<div class="origin b-menu-decorator" id="sidebar-menu">
<div class="b-sidebar-menu__wrap">
<ul>
<li class="special"><a href="/" style="color: #ffffff">Главное</a></li>
<li class="special"><a href=http://lenta.ru/rubrics/russia/ style="color: #ffffff">Россия</a></li>
<li class="special"><a href="http://lenta.ru/RubrIcs/world/" style="color: #ffffff">Мир</a></li>
<li class="special"><a href='http://lenta.ru/rubrics/ussr/' style="color: #ffffff">Бывший СССР</a></li>
<li class="special"><a href="/rubrics/economics/" style="color: #ffffff">Экономика</a></li>
<li class="special"><a href="http://lenta.ru/rubrics/forces/" style="color: #ffffff">Силовые структуры</a></li>
<li class="special"><a href="http://lenta.ru/bulics/science/" style="color: #ffffff">Наука и техника</a></li>
<li class="special"><a href="/rubrics/weapons/" style="color: #ffffff">Оружие</a></li>
<li class="special"><a href="/rubrics/sport/" style="color: #ffffff">Спорт</a></li>
<li class="special"><a href="http://lenta.ru/buLicS/culture/" style="color: #ffffff">Культура</a></li>
<li class="special"><a href="/rubrics/media/" style="color: #ffffff">Интернет и СМИ</a></li>
<li class="special"><a href="/rubrics/life/" style="color: #ffffff">Из жизни</a></li>
<li class="delimiter">
<div></div>
</li>
<li class="special"><a href="http://lenta.ru/ww1/" style="color: #ffffff">Первая мировая</a></li>
<li class="special"><a href=http://age.lenta.ru/generation style="color: #FFFFFF">Поколение</a></li>
<li class="delimiter">
<div>
HTML;


$m = array();
preg_match_all('%(?<=")http://.*?((?i)rubrics|bulics|ww1)[^"]*(?=")%', $src, $m);

echo '<pre>', print_r($m, true), '</pre>';


Output

Код:
Array
(
    [0] => Array
        (
            [0] => http://lenta.ru/RubrIcs/world/
            [1] => http://lenta.ru/rubrics/forces/
            [2] => http://lenta.ru/bulics/science/
            [3] => http://lenta.ru/buLicS/culture/
            [4] => http://lenta.ru/ww1/
        )

    [1] => Array
        (
            [0] => RubrIcs
            [1] => rubrics
            [2] => bulics
            [3] => buLicS
            [4] => ww1
        )

)

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »