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

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

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

 

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

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

тема: найти ссылку с bbкодом
 
 автор: ren   (30.03.2009 в 01:45)   письмо автору
 
 

Доброго времени суток, есть текст, нужно найти в нем выражения


 [U RL=http://какойтосайт.какоятозона]какиетослова[/URL]




1 и заменить искомое выражение на пробел, какое рег. выражение тут подойдет?
2. можно ли составить такое выражение, которое заменяло бы все адреса, кроме списка исключений, например , кроме site1.ru, site2.com?

p.s.
пробела между U и R в искомом выражении нет.

  Ответить  
 
 автор: nikita2206   (01.04.2009 в 20:40)   письмо автору
 
   для: ren   (30.03.2009 в 01:45)
 

1:
<?
preg_match_all
('/\[url\](.+?)\[\/url\]/'$text$url1); // для ссылок вида [u rl]http://some.ru[/url]
for($i 0$i count($url1[1]); $i++){
    
$url1[1][$i] = preg_replace('/^([^"]*)(.*)$/''\1'$url1[1][$i]);
    
$text str_replace($url1[0][$i], '<a href="'.$url1[1][$i].'" >'.$url1[1][$i].'</a>'$text);
}
preg_match_all('/\[url=(.+?)\](.+?)\[\/url\]/'$text$url2); // для ссылок вида [u rl=http://some.ru]SOME[/url]
for($i 0$i count($url2[1]); $i++){
    
$url2[1][$i] = preg_replace('/^([^"]*)(.*)$/''\1'$url2[1][$i]);
    
$text str_replace($url2[0][$i], '<a href="'.$url2[1][$i].'" >'.$url2[2][$i].'</a>'$text);
}

  Ответить  
 
 автор: AcidTrash   (02.04.2009 в 22:03)   письмо автору
 
   для: ren   (30.03.2009 в 01:45)
 

1 и заменить искомое выражение на пробел, какое рег. выражение тут подойдет?
$preg = preg_replace("#\[url.*\].*\[/url\]#i", "", $text); 

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

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