Помогите с регэкспом выделения ссылок и разбор их

_Leonchik_

Новичок
Помогите с регэкспом выделения ссылок и разбор их

Поиском нарыл более менее удачный вариант от WP оригинал можно глянуть тут http://phpclub.ru/talk/showthread.php?s=&threadid=87990&highlight=microtime
<plaintext>
PHP:
$pattern = '~<a.+?href\s*=(? : ([\'"])(.*?)\1|\s*[^\s>]*).*?>(.*?)</a>~si';
после знака '=' (? : ([.... я проставил пробелы. а то ражица вылазит +
небольшой глюк на сайте пронаблюдался.</plaintext>
но он ксожелению не отработывает как надо все сылки, а именно:
<a href=[тут нет пробела]"link1.com">link 1</a>
<a href="link2.com">link 2</a> [нет пробелов до и после знака =]
пробывал подставлять правило с пробелом \s*, но никак не получается :confused:
проблема в отсутствии пробелов. а именно после знака =

Также я использовал PREG_PATTERN_ORDER и получаю более менее правильный результат. При PREG_SET_ORDER еще хуже, массив почти пуст. хотя индексы массива присутствуют, но без данных.
Разве данная директива не отвечает за видом возвращающихся данных?

-~{}~ 13.03.07 17:21:

проблема снялась. я прогнал с атрибутами(PREG_PATTERN_ORDER и PREG_SET_ORDER)
Но осталось одно непонятное для меня. для чего нужно ?:
А разве никому из модераторов (да и др. тоже) не интерестно про маленький глюк на вашем же сайте?
 

hermit_refined

Отшельник
Также я использовал PREG_PATTERN_ORDER и получаю более менее правильный результат. При PREG_SET_ORDER еще хуже, массив почти пуст. хотя индексы массива присутствуют, но без данных.
i think, вы гоните. или пишите не о том, о чем думаете.
иначе - приведите пример не более чем из 10 строчек, воспроизводящий "глюк".

P.S. упс. только сейчас понял, что под "прогнал" вы имеете в виду именно то, что и я сейчас, а не то, что у вас заработало с комбинацией PREG_SET_ORDER | PREG_PATTERN_ORDER. русский язык, черт возьми...
не интерестно про маленький глюк на вашем же сайте?
а при чем здесь phpclub?..
для чего нужно ?:
http://ru.php.net/manual/ru/reference.pcre.pattern.syntax.php#regexp.reference.subpatterns
 

WP

^_^
Ужас. Леончик, прошу тебя, читай текст перед тем как постить, а то очень уж сложно бред читать. Особенно порадовало "почти пустой". На твоем месте я бы прочел мануал, подумал бы за чашкой чая, а потом бы уже спрашивал.
 

_Leonchik_

Новичок
WP за тот самый Ваш пост мне не стыдно, и даже за данный мой посто ни сколько. (Как добрый дядя Ленин говорил? учится...3 раза...) Поэтому мне бредом не кажется!
Как бы там нибыло - спасибо.

hermit_refined
а при чем здесь phpclub?..
так на данном же сайте глюк и был. За сылку спасибо. почитал, и повидимому еще и не раз буду заглядывать.

Глюк кот. я наблюдал, это когда подобный рег (в том виде, в кот. я его запостил) поместить в BBkod PHP /PHP и убрать те самые пробелы, кот. я поставил из-за появления рожицы, то мы и увидем глюк.
Не ленивые пусть проделают и поглядят.
Ленивым же - наврядли они досих пор дочитали.
 

_Leonchik_

Новичок
test
PHP:
$pattern = '~<a.+?href\s*=(?:([\'"])(.*?)\1|\s*[^\s>]*).*?>(.*?)</a>~si';
-~{}~ 13.03.07 19:27:

ну и где гон Ув. hermit_refined ?
показ смайликов у меня отключен.
или так и должно быть, в чем я сомневаюсь.
 

hermit_refined

Отшельник
PHP:
$pattern = '~<a.+?href\s*=(?:([\'"])(.*?)\1|\s*[^\s>]*).*?>(.*?)</a>~si';
sorry, но вы уже раздражаете.
 
Сверху