|
|
|
| Где-то по-моему это уже обсуждалось...
Есть конструкция [cite author="misha"]la-la-la text [cite author="kolya"][/cite]la-la-la[/cite]
Причём уровень вложенности [cite] может быть любой.
Как можно в таком случае вытащить все цитаты, а лучше заменить на стандартное оформление? | |
|
|
|
|
|
|
|
для: Axxil
(05.08.2006 в 19:18)
| | Под стандартным оформлением что имеется ввиду? | |
|
|
|
|
|
|
|
для: cheops
(05.08.2006 в 22:56)
| | ну например для одиночных тегов такая штука:
<?
$replace = '<div class="cite_message"><span class="cite_author">\\1 писал(а)</span><div class="cite_body">\\2</div></div>';
$message = preg_replace('|\[cite author="([^"]*)"\]([^\[]*)\[/cite\]|is',$replace,$message);
?>
|
$replace - это стандартое оформление | |
|
|
|
|
|
|
|
для: Axxil
(06.08.2006 в 15:49)
| | Так как же всё же?
Подозреваю что нужно использовать preg_replace_callback | |
|
|
|
|
|
|
|
для: Axxil
(07.08.2006 в 01:00)
| | Подскажите хотя бы направление, алгоритм что ли... | |
|
|
|
|
|
|
|
для: Axxil
(09.08.2006 в 11:46)
| | Пришлось самому делать:
<?
preg_match_all('|\[tag\]|is',$str,$out);
$pattern = '|\[tag\]([^\[]*)\[/tag\]|is';
for($i=0;$i<sizeof($out[0]);$i++)
$str = preg_replace($pattern,'<div>\\1</div>',$str);
echo $str;
?>
|
| |
|
|
|
|
|
|
|
для: Axxil
(09.08.2006 в 15:43)
| | Ну, сделал? | |
|
|
|
|
|
|
|
для: ec_stasis
(12.08.2006 в 01:30)
| | Не понял, а мой предыдущий пост нормально видно? | |
|
|
|