Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: замена [URL][/URL] на ссылку
 
 автор: yline   (29.05.2008 в 18:57)   письмо автору
 
 

есть пременная $text содержащая текст, как найти в тексте [URL][/URL] и заменить на ссылку?

   
 
 автор: xx77   (29.05.2008 в 23:42)   письмо автору
 
   для: yline   (29.05.2008 в 18:57)
 

наверное
echo  $text = preg_replace('#\[URL\]\s*([^\s\[]+)\s*\[/URL\]#s', '<a href="$1">$1</a>', $text );

   
 
 автор: AcidTrash   (30.05.2008 в 00:09)   письмо автору
 
   для: xx77   (29.05.2008 в 23:42)
 

>echo $text = preg_replace('#\[URL\]\s*([^\s\[]+)\s*\[/URL\]#s', '<a href="$1">$1</a>', $text );

Куча ошибок до безобразия!

   
 
 автор: xx77   (30.05.2008 в 01:00)   письмо автору
 
   для: 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&amp;a[]=456

но зато жадное, и в случаях обработки ссылок написанных заранее наверное таки неплохо могло-бы сгодиться
хотя \s*\s* и правда наверное лишнее )

   
 
 автор: BinLaden   (30.05.2008 в 00:54)   письмо автору
 
   для: xx77   (29.05.2008 в 23:42)
 

xx77, опасно. Есть такая атака - XSS. Она в этом случае пройдет.

   
 
 автор: xx77   (30.05.2008 в 01:04)   письмо автору
 
   для: BinLaden   (30.05.2008 в 00:54)
 

согласен .
наверное я применил-бы htmlspecialchars() перед такой обработкой и выдачей браузеру

   
 
 автор: BinLaden   (30.05.2008 в 01:09)   письмо автору
 
   для: xx77   (30.05.2008 в 01:04)
 

> наверное я применил-бы htmlspecialchars() перед такой обработкой и выдачей браузеру

Ох и не помогло бы.

   
 
 автор: xx77   (30.05.2008 в 01:25)   письмо автору
 
   для: BinLaden   (30.05.2008 в 01:09)
 

И правда , похоже что я не всего учитываю , ссылки вида [ URL] javascript:что-то............................[/URL] действительно пройдут. Признаю что говорил неподумав ,и не совсем ещё знаю какие бывают XSS-аттаки :)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования