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

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

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

 

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

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

тема: до пробела или конца с текста
 
 автор: Николай2357   (30.08.2008 в 04:44)   письмо автору
 
 

Здравствуйте.
Подскажите, как выбрать текст до пробела или конца текста. Это не сложно, если есть на чем остановиться.
<?
$text 
preg_replace("#http://([^\s]+?)\s+#i""<a href='http://$1' >http://$1</a>",$text);
но я споткнулся на том, что после него может совсем ничего не быть. То есть и пробела.
Как быть в такой ситуации?
Спасибо.

  Ответить  
 
 автор: Николай2357   (30.08.2008 в 05:02)   письмо автору
 
   для: Николай2357   (30.08.2008 в 04:44)
 

Я выкрутился хитрым способом:
<?
$text 
$text." ";
$text preg_replace("#http://([^\s]+?)\s+#i""<a href='http://$1' >http://$1</a>",$text);

но может есть грамотное решение?

  Ответить  
 
 автор: xx77   (30.08.2008 в 11:42)   письмо автору
 
   для: Николай2357   (30.08.2008 в 05:02)
 

[^\s]+ само по себе вберёт всё до первого пробела или до конца текста.

можно было-бы записать проще :
<?
preg_replace
("#http://(\S+)#i""............

но если замена делается в тексте введённом пользователями
, получается возможным запостить например такую ссылку
<a href='#'onclick='confirm("реклама")'>#'onclick='confirm("реклама")</a>

  Ответить  
 
 автор: Николай2357   (30.08.2008 в 12:21)   письмо автору
 
   для: xx77   (30.08.2008 в 11:42)
 

Большое спасибо.

>но если замена делается в тексте введённом пользователями

я знаю, это для внутреннего пользования...

  Ответить  
Rambler's Top100
вверх

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