-
Вебмастеру
(
http://forum.oszone.net/forumdisplay.php?f=22)
Регулярное выражение
Подскажите регулярку, задача следующая, есть текст выводимы в контенте к примеру: Источник: mail.ru
Нужно чтобы на выходе был такой html код:
Источник: <a href="mail.ru">mail.ru</a>
Т.е. после слова "Источник: " брать текст ссылки и оборачивать её ссылкой.
|
Где оборачивать? Язык какой? Откуда текст берется? Слишком мало данных для мозгового штурма :)
|
Цитата:
Цитата Delirium
Где оборачивать? Язык какой? Откуда текст берется? Слишком мало данных для мозгового штурма »
|
язык php
на входе текст в переменной: Источник: mail.ru
на выходе должен получится html: Источник: <a href="mail.ru">mail.ru</a>
|
venuko, все равно не пойму, в чем проблема, а что нельзя в переменную записать нечто такое:
string data_from_input = "mail.ru"
string reg_exp = "<a href='" + data_from_input + " '>" + data_from_input + "</a>"
и в код вставить результат reg_exp. Или я неверно понимаю суть задачи?
|
Цитата:
Цитата Delirium
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" и т.д.
PHP код:
$content1 = "Источник: mail.ru";
$content2 = "Источник: news.ru";
Т.е. после пробела двоеточия брать текст сайта и оборачивать его ссылкой самого на себя.
|
PHP код:
preg_replace ( '{Источник\:\s*([\S]+)}i', 'Источник: <a rel="nofollow" href="/go.php?url=http://${1}">${1}</a>', $text );
|
Цитата:
Цитата Sham
preg_replace
'{Источник\:\s*([\S]+)}i',
'Источник: <a href="http://${1}">${1}</a>' »
|
что-то не пойму как применить данный код если данные приходят так в переменной
PHP код:
$content1 = "Источник: mail.ru";
|
Это был не код, а наводка. Ваша библия - php.net.
|
Цитата:
Цитата Sham
Это был не код, а наводка. Ваша библия - php.net. »
|
Спасибо за подсказку. Разобрался, все работает :)
Не подскажете хороший ресурс понятный для тех кто дуб в регулярках?
|
Цитата:
Цитата Sham
Это был не код, а наводка. Ваша библия - php.net. »
|
сделал так, но как то не верно работает:
PHP код:
$text = "<p>Текст текст текст</p> <p>Источник: mail.ru</p>";
$res = preg_replace('{Источник\:\s*([\S]+)}i','Источник: <a rel="nofollow" href="/go.php?url=http://${1}">${1}</a>',$text);
echo $res;
|
Время: 16:55.
© OSzone.net 2001-