cdi
Новичок
Регулярные выражения
Вопрос наверняка тривиальный, но ответ мне не удалось найти самостоятельно. Не нашёл его и в сети.
Задача: есть текст заключённый в теги, например, [y]qwerty[/y], [e]werty[e] т.д. (в квадратных скобках конечно буквы другие) необходимо сделать замену соответственно <u>qwerty</u>, <i>qwerty</i> и если набран какой-то «мусор» по возможности избавиться от него. Сделал так:
Может быть есть более эффективный/оптимальный вариант?
И теперь основной вопрос: есть текст заключённый в теги – [yrl]http://qwerty.ru[/yrl] (в скобках url) необходимо заменить ВО ВСЁМ тексте ВСЕ совпадения на<a href=”http://qwerty.ru”></a>
и по возможности убрать мусор. Пробую вот это:
как заменить ВО ВСЁМ тексте ВСЕ совпадения? В этом случае заменяется только последнее совпадение.
В общем сделать как сдесь на сайте.
Вопрос наверняка тривиальный, но ответ мне не удалось найти самостоятельно. Не нашёл его и в сети.
Задача: есть текст заключённый в теги, например, [y]qwerty[/y], [e]werty[e] т.д. (в квадратных скобках конечно буквы другие) необходимо сделать замену соответственно <u>qwerty</u>, <i>qwerty</i> и если набран какой-то «мусор» по возможности избавиться от него. Сделал так:
PHP:
$search_mess=array("/(?:\[(|\/)u\])+/i");
$replace_mess=array("<\\1u>");
$msg="[u][u][/u][/u][u]qwerty[/u]
$msg=preg_replace($search_mess,$replace_mess,$msg);
И теперь основной вопрос: есть текст заключённый в теги – [yrl]http://qwerty.ru[/yrl] (в скобках url) необходимо заменить ВО ВСЁМ тексте ВСЕ совпадения на<a href=”http://qwerty.ru”></a>
и по возможности убрать мусор. Пробую вот это:
PHP:
$msg=preg_replace("/(.*)(?:\[url\])+(.+)(?:\[\/url\])+(.*)/i","\\1<a href=\\2>\\2</a>\\3",$msg);
В общем сделать как сдесь на сайте.