Как сделать регулярку, обрабатывающую только нужные ссылки? Добрый день! Есть некоторый текст. В нём встречаются ссылки нескольких видов: просто ссылка, например [url]http://vk.com/id99999999999999[/url], и ссылка, содержащая youtube задача состоит в том, чтобы обернуть обычные ссылки в теги <A> а ютубовские ссылки обернуть в IFRAME оборачиваю сначала в IFRAME ссылки на ютуп $regex = "~(http)?s?\\:?[/]{0,2**[w]{0,3**\\.?youtu.*\\?v=(\\S*)~i"; // регулярочка для ютупа $value = preg_replace ($regex, "<iframe style='padding-right: 10px;' align='left' width='360' height='287' src='https://www.youtube.com/embed/\\2' frameborder='0' allowfullscreen='1'></iframe>", $value); а далее, я хочу обернуть в теги <A> ссылки не содержащие ключевого слова youtube Пытался использовать регулярное выражение (https?\:\/\/www\.)(?!youtube\.\S+)\s? но оно не позволяет захватить выражение скобками, чтобы подставить его в preg_replace — возвращается только то, что содержится в $1, а если обернуть всё выражение скобками, то возвращается вся строка, что ломает уже обёрнутые в iframe видосы. Заранее благодарю |
[url]http://www.php.su/preg_replace_callback[/url] и использовать обычный regexp который просто находит сслыки, в коллбеке ты уже посмотришь на домен и решишь что с ней делать |
Так ты выложи свой "некоторый текст". |
1-wayerr > благодарю, это самое жизненное =) |
Текущее время: 01:03. Часовой пояс GMT +3. |