Не работает preg_replace

  • Автор темы Автор темы 4you
  • Дата начала Дата начала

4you

еееххххх....
Не работает preg_replace

Народ подскажите почему может не работать такой пример:
PHP:
$inp = "[url]http://www.php.net[/url]";
$inp = preg_replace("/(\[url\])(.*)(\[\/url\])/U","<a href=\2>\2</a>", $inp);
выдаёт вот такое: "<a href=></a>". Заранее спаибо
 
$inp = preg_replace('/(\[url\])(.*)(\[\/url\])/U','<a href=\2>\2</a>', $inp);
обрати внимание на кавычки.
 
4you простите а что ты заменять то собрался в исходной строке?
$inp="[url ]aaaa[/url ]";
а твою исходную строку этот рег оставит без изменения.
 
Да спасибо. Но вот такая продлема:примерно в таком файле:

[title]В Гомеле могут быть сняты все вопросы[/title]
[main]&nbsp;&nbsp;&nbsp;Во вторник латвийская сборная по &nbsp;&nbsp;&nbsp;В случае победы латвийская команда <br>
&nbsp;&nbsp;&nbsp;Латвии: <br>
Айнар Багатскис, Увис Хелманис, Каспар Камбала, Бруно.[/main]
[source]www.sportsnews.lv[/source]

теги [title] и [source] меняет на то что надо а тег [main] нет. Меняю при помощи верхнего примера. Заранее спасибо
 
$inp = preg_replace("/\[main\](.*)\[\/main\]/si","<body>\\1</body>", $inp);
Попробуй так
Обрати внимание на Pattern Modifiers
 
Да да. Я не до конца прочёл твоё сообщение. Спасибо :)
 
Сверху