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

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

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

 

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

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

тема: Помогите с регулярными выражениями для bbCode
 
 автор: Blizard   (27.04.2009 в 14:17)   письмо автору
 
 

Я пытаюсь сделать bb тэги вот такие:

[i] [b] [u] [hr] [hr size=...] [hr width=...] [hr color=...] [size=...][/size]

где [size=][/size] равносильно <font size=></font>

я сделал первые три

$top_text = preg_replace("#\[b\](.+)\[\/b\]#isU",'<b>\\1</b>',$top_text);
$top_text = preg_replace("#\[i\](.+)\[\/i\]#isU",'<i>\\1</i>',$top_text);
$top_text = preg_replace("#\[u\](.+)\[\/u\]#isU",'<u>\\1</u>',$top_text);

помогите с остальными, я пробовал по анологии, но у меня чтото не работает

  Ответить  
 
 автор: nikita2206   (27.04.2009 в 17:58)   письмо автору
 
   для: Blizard   (27.04.2009 в 14:17)
 

первые три лучше сделать так: $top_text = str_replace('[i]', '<i>', $top_text); и т.д.

[size][/size] - preg_replace('|\[size=([0-9])\](.*?)[/size]|'isU, '<font size="\1">\2</font>', $top_text);
и остальные по аналогии

  Ответить  
 
 автор: Blizard   (27.04.2009 в 19:16)   письмо автору
 
   для: nikita2206   (27.04.2009 в 17:58)
 

$top_text = preg_replace('|\[size=([0-9])\](.*?)[/size]|'isU, '<font size="\1">\2</font>', $top_text);

выдает ошибку страницы, поправить или найти ошибку сам я не могу по причине непонимания

  Ответить  
 
 автор: nikita2206   (27.04.2009 в 19:20)   письмо автору
 
   для: Blizard   (27.04.2009 в 19:16)
 

<?
$top_text 
preg_replace('|\[size=([0-9])\](.*?)[/size]|isU''<font size="\1">\2</font>'$top_text);

  Ответить  
 
 автор: Blizard   (27.04.2009 в 19:56)   письмо автору
 
   для: nikita2206   (27.04.2009 в 19:20)
 

так уже лучше ) но не до конца


$top_text = "[size=9]Тест топика[/size] это обычный размер";
$top_text = preg_replace('|\[size=([0-9])\](.*?)[/size]|isU', '<font size="\1">\2</font>', $top_text);
echo $top_text;


выводит так:

Тест топика[/size] это обычный размер


все размером 9

  Ответить  
 
 автор: nikita2206   (27.04.2009 в 20:02)   письмо автору
 
   для: Blizard   (27.04.2009 в 19:56)
 

ага)
<?
$top_text 
preg_replace('|\[size=([0-9])\](.*?)\[/size\]|isU''<font size="\1">\2</font>'$top_text);

  Ответить  
 
 автор: Blizard   (27.04.2009 в 20:13)   письмо автору
 
   для: nikita2206   (27.04.2009 в 20:02)
 

во гуд, спасибо!

ну а по поводу [hr] совсем трудно замутить чтото типа [hr size=... width=... color=...] ? ну т.е. соеденить в один

я хоть и не совсем лох в php но когда не понимаешь рег. выражения, то очень тяжко чтото с ними сделать даже на примерах других ббэшек

  Ответить  
 
 автор: nikita2206   (27.04.2009 в 20:15)   письмо автору
 
   для: Blizard   (27.04.2009 в 20:13)
 

разве бывает ббкод hr???

  Ответить  
 
 автор: Blizard   (27.04.2009 в 20:36)   письмо автору
 
   для: nikita2206   (27.04.2009 в 20:15)
 

практически не знаю, не видел, но теоретически -- почему нет?

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

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