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

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

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

 

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

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

тема: Регулярные выражения - преобразовать тэги phpBB в обычные

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

 
 автор: Akira   (12.07.2005 в 21:20)   письмо автору
 
   для: cheops   (12.07.2005 в 21:19)
 

ага =) А то я все время // =) Потом трудно разбирать его =)

   
 
 автор: cheops   (12.07.2005 в 21:19)   письмо автору
 
   для: Akira   (12.07.2005 в 19:27)
 

Ну... синтаксис Perl-регулярных выражений так велит - нужно очертить границы выражения обычно используют / / или \ \, но эти символы часто встречаются и поэтому нужно их экранировать, усложняя регулярное выражение, мне нравится | |, но символ | тоже иногда нужен, идеальный кандидат на ограничивающие символы # # - диез редко ищется в регулярных выражениях...

   
 
 автор: Akira   (12.07.2005 в 19:27)   письмо автору
 
   для: cheops   (12.07.2005 в 00:39)
 

А зачем # # ?

   
 
 автор: Киналь   (12.07.2005 в 19:11)   письмо автору
 
   для: cheops   (12.07.2005 в 00:39)
 

Благодарю вас, господа!

   
 
 автор: cheops   (12.07.2005 в 00:39)   письмо автору
 
   для: Киналь   (11.07.2005 в 22:38)
 

Можно воспользоваться следующим скриптом (правда он использует Perl-регулярные выражения)
<?php
$text 
"... на следующем [url = http://www.softtime.ru] ресурсе [ /url]
         вы можете найти ..."
;
$patern "#\[[\s]*url[\s]*=[\s]*([^\]]*)\]([^\[]*)\[[\s]*/url[\s]*\]#i";
$replacment '<a href=\\1>\\2</a>';
echo 
preg_replace($patern$replacment$text); 
?>

PS Только следует убрать пробел в тэге [ /url] - я добавил его, чтобы передотвратить интерпретацию движком форума.

   
 
 автор: Gush   (12.07.2005 в 00:03)
 
   для: Gush   (11.07.2005 в 23:45)
 

А вообще, после всяких экспериментов я пришёл к выводу, что делать преообразование из UBB тегов [ЮRL=httр://dоmen.cоm]название ссылки[/ЮRL] в html -теги нужно не при записи, а при генерации уже записанной странички - тогда необходимость в первой задаче отпадает, и это более гибкий метод.

   
 
 автор: Gush   (11.07.2005 в 23:45)
 
   для: Киналь   (11.07.2005 в 22:38)
 

Что-то вроде:

preg_replace("'<a target\=_blank href\=(.+?)>(.+?)</a>'i"),"{url=".'\1'."}".'\2'."[/url]", $text);

Я проверяю ещё валидность URL по маске.

   
 
 автор: Киналь   (11.07.2005 в 22:38)   письмо автору
 
 

Никак я с eregi не подружусь...
Пожалуйста, подскажите, как из

<a target=_blanc href=url_of_link>text_of_link</a>

сделать

{url=url_of_link}text_of_link[/url]


Спасибо!

   

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

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

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