|
|
|
| Как превратить http://site.ru и http://www.site.ru и site.ru и www.site.ru в ссылки?
Только есть одно НО:
1. В тексте встречается http:// и вообще адреса сайтов очень много раз, которые заменять нельзя! Нужно менять только те ссылки, по сторонам которых либо ничего нет (mail.ru, а не src="mail.ru или href="mail.ru), либо пробелы ( mail.ru ).
Сможете помочь? Часа 2 сижу мучаюсь. | |
|
|
|
|
|
|
|
для: Maxam
(11.05.2010 в 01:47)
| | Замену ссылок без вашего "НО" вы сделать смогли? Покажите, если да | |
|
|
|
|
|
|
|
для: neadekvat
(11.05.2010 в 02:20)
| |
$text = preg_replace("#http:\/\/(.*?)#i", '<a href="http://$1">$1</a><img src="./icons/external.png">' , $text);
|
Можно ещё конечно вариант с:
$text = preg_replace("#http:\/\/www\.([a-z0-9-]{2,63}\.[a-z]{2,6})#i", '<a href="http://$1">$1</a><img src="./icons/external.png">' , $text);
|
но я не знаю, как задать в регулярке условие: может быть, а может и не быть (это я про http:// и www.). | |
|
|
|
|
|
|
|
для: Maxam
(11.05.2010 в 08:36)
| | А можно попробовать паттэрны в массив запихнуть, дабы избежать условные выражения в самом регулярном выражении... Каждый возможный случай описываешь в любом из элементов массива паттэрнов.. затем регулярке передаешь этот массив. Должно заработать. | |
|
|
|
|
|
|
|
для: Tonik992
(11.05.2010 в 23:56)
| | Приму к сведению. | |
|
|
|