Показать полную графическую версию : Регулярное выражение
Подскажите регулярку, задача следующая, есть текст выводимы в контенте к примеру: Источник: mail.ru
Нужно чтобы на выходе был такой html код:
Источник: <a href="mail.ru">mail.ru</a>
Т.е. после слова "Источник: " брать текст ссылки и оборачивать её ссылкой.
Delirium
26-07-2010, 01:29
Где оборачивать? Язык какой? Откуда текст берется? Слишком мало данных для мозгового штурма :)
Где оборачивать? Язык какой? Откуда текст берется? Слишком мало данных для мозгового штурма »
язык php
на входе текст в переменной: Источник: mail.ru
на выходе должен получится html: Источник: <a href="mail.ru">mail.ru</a>
Delirium
28-07-2010, 03:02
venuko, все равно не пойму, в чем проблема, а что нельзя в переменную записать нечто такое:
string data_from_input = "mail.ru"
string reg_exp = "<a href='" + data_from_input + " '>" + data_from_input + "</a>"
и в код вставить результат reg_exp. Или я неверно понимаю суть задачи?
venuko, все равно не пойму, в чем проблема, а что нельзя в переменную записать нечто такое:
string data_from_input = "mail.ru"
string reg_exp = "<a href='" + data_from_input + " '>" + data_from_input + "</a>"
и в код вставить результат reg_exp. Или я неверно понимаю суть задачи? »
Да нет не поняли меня. В контенте могут быть источники с разными сайтами, так вот сайт в источники нужно делать ссылкой.
К примеру в контенте в конце может быть разный источник или "Источник: mail.ru" или "Источник: news.ru" и т.д.
$content1 = "Источник: mail.ru";
$content2 = "Источник: news.ru";
Т.е. после пробела двоеточия брать текст сайта и оборачивать его ссылкой самого на себя.
preg_replace
(
'{Источник\:\s*([\S]+)}i',
'Источник: <a href="http://${1}">${1}</a>',
$text
);
preg_replace
'{Источник\:\s*([\S]+)}i',
'Источник: <a href="http://${1}">${1}</a>' »
что-то не пойму как применить данный код если данные приходят так в переменной
$content1 = "Источник: mail.ru";
Это был не код, а наводка. Ваша библия - php.net.
Это был не код, а наводка. Ваша библия - php.net. »
Спасибо за подсказку. Разобрался, все работает :)
Не подскажете хороший ресурс понятный для тех кто дуб в регулярках?
Это был не код, а наводка. Ваша библия - php.net. »
сделал так, но как то не верно работает:
$text = "<p>Текст текст текст</p> <p>Источник: mail.ru</p>";
$res = preg_replace('{Источник\:\s*([\S]+)}i','Источник: <a href="http://${1}">${1}</a>',$text);
echo $res;
\S - непробельные символы (туда и тег войдет). вместо него можно [a-z\.] (набор возможных символов)
хороший ресурс понятный для тех кто дуб »
http://docs.php.net/manual/ru/regexp.reference.php
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.