|
|
|
| есть пременная $text содержащая текст, как найти в тексте [URL][/URL] и заменить на ссылку? | |
|
|
|
|
|
|
|
для: yline
(29.05.2008 в 18:57)
| | наверное
echo $text = preg_replace('#\[URL\]\s*([^\s\[]+)\s*\[/URL\]#s', '<a href="$1">$1</a>', $text );
|
| |
|
|
|
|
|
|
|
для: xx77
(29.05.2008 в 23:42)
| | >echo $text = preg_replace('#\[URL\]\s*([^\s\[]+)\s*\[/URL\]#s', '<a href="$1">$1</a>', $text );
Куча ошибок до безобразия! | |
|
|
|
|
|
|
|
для: AcidTrash
(30.05.2008 в 00:09)
| | :)
проверил, работает )
<?
$text ='http://site.xx
jghjhgjhgjhgjhg
[URL] http://site2.xx [/URL] yuuytuyt
[URL]/xxxxx/?xx=123&x123= [/URL]
1232123123123 http://site3.xx/xxxxx/?xx=123&x123=';
echo $text = preg_replace('#\[URL\]\s*([^\s\[]+)\s*\[/URL\]#s', '<a href="$1">$1</a>', $text );
|
есть вообще-то одна неточность;
непреобразует ссылки вида /xxxxx/?a[]=123&a[]=456
но зато жадное, и в случаях обработки ссылок написанных заранее наверное таки неплохо могло-бы сгодиться
хотя \s*\s* и правда наверное лишнее ) | |
|
|
|
|
|
|
|
для: xx77
(29.05.2008 в 23:42)
| | xx77, опасно. Есть такая атака - XSS. Она в этом случае пройдет. | |
|
|
|
|
|
|
|
для: BinLaden
(30.05.2008 в 00:54)
| | согласен .
наверное я применил-бы htmlspecialchars() перед такой обработкой и выдачей браузеру | |
|
|
|
|
|
|
|
для: xx77
(30.05.2008 в 01:04)
| | > наверное я применил-бы htmlspecialchars() перед такой обработкой и выдачей браузеру
Ох и не помогло бы. | |
|
|
|
|
|
|
|
для: BinLaden
(30.05.2008 в 01:09)
| | И правда , похоже что я не всего учитываю , ссылки вида [ URL] javascript:что-то............................[/URL] действительно пройдут. Признаю что говорил неподумав ,и не совсем ещё знаю какие бывают XSS-аттаки :) | |
|
|
|