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

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

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Замена всех совпадений с маской.

Сообщения:  [1-8] 

 
 автор: Киналь   (13.01.2006 в 22:50)   письмо автору
 
   для: Евгений Петров   (13.01.2006 в 18:17)
 

Все заработало, спасибо!

   
 
 автор: Киналь   (13.01.2006 в 22:20)   письмо автору
 
   для: Евгений Петров   (13.01.2006 в 18:17)
 

Спасибо, попробую.

   
 
 автор: Киналь   (13.01.2006 в 22:19)   письмо автору
 
   для: Boss   (13.01.2006 в 18:15)
 

Очень смешно...

   
 
 автор: Евгений Петров   (13.01.2006 в 18:17)   письмо автору
 
   для: Киналь   (13.01.2006 в 17:29)
 

Ой! ой! ой! :)
<?
  $msg
="Yandex: [ url ]http:/ya.ru[ /url ] Google: [ url ]http://google.ru[ /url ]";
  echo 
$msg preg_replace("/(\[url\])(.*)(\[\/url\])/iU","<a href=\"\${2}\">\${2}</a>",$msg);
?>

   
 
 автор: Boss   (13.01.2006 в 18:15)   письмо автору
 
   для: Киналь   (13.01.2006 в 17:29)
 


<?php 
$msg 
"Yandex: [ url]http://ya.ru[/url ] Google: [ url]http://google.ru[/url ]"
$msg str_replace("[ url]","<a href=",$msg); 
$msg str_replace("[/url ]"">GO!</a>"$msg);
echo 
$msg.'<br />';
?>


=))

   
 
 автор: Киналь   (13.01.2006 в 17:29)   письмо автору
 
   для: Евгений Петров   (13.01.2006 в 13:11)
 

Ну, может, я не понимаю чего... Вот:

<?php
$msg
="Yandex: [ url]http:/ya.ru[/url ] Google: [ url]http://google.ru[/url ]";
$msg eregi_replace("(.*)\\[url\\]([^\s]*)\\[/url\\](.*)","\\1<a target=_blanc href=\\2>\\2</a>\\3",$msg);

Выодит

Yandex: [ url]http:/ya.ru[/url ] Google: <a target=_blanc href=http://google.ru>http://google.ru</a>


ЗЫ В тегах пробелы везде, чтобы форумный движок не обрабатывал.

   
 
 автор: Евгений Петров   (13.01.2006 в 13:11)   письмо автору
 
   для: Киналь   (13.01.2006 в 09:51)
 

Почему последнее? Здесь вроде все заменяет:
<?
  $text 
"Текст [url] содержащий [url] множество [url] тегов [url]";
  echo 
eregi_replace("\[url\]","<a href=\"javascript: alert()\">url</a>",$text);
?>

   
 
 автор: Киналь   (13.01.2006 в 09:51)   письмо автору
 
 

Видимо, просто не знаю какой-то чудо-функции=)
Нужно заменить в тексте все совпадения с маской (то есть заменить псевдо-теги [ url ] на ссылки). Но вот проблема - eregi_replace заменяет только последнее совпадение. Как быть? Сначала, что ли, их все посчитать, а потом в цикле менять? Это ж скрипту работы на полчаса=) Как это правильнее сделать?

   

Сообщения:  [1-8] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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