Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> własny BBCode
Denver
post
Post #1





Grupa: Zarejestrowani
Postów: 132
Pomógł: 0
Dołączył: 24.09.2003
Skąd: Giżycko / Wrocław

Ostrzeżenie: (0%)
-----


Witam. Mam problem z napisaniem zamieniania w php [quote=xywka] na cos innego.

Mam taki kod:

[php:1:6f190360cc]<?php
$text = preg_replace("#[quote=(.+)](.+)[/quote]#", "[Q]1[/Q]", $text);
?>[/php:1:6f190360cc]

Nie zawsze jednak działa.
Np. przy takim tekście:

Kod
[quote=Denver]cośtam....[/quote]





[quote=Denver]

cośtam....

[quote=Denver]blablabla[/quote]

blablabla

[/quote]



blablabla


Nie zostają zastąpione wszystkie znaczniki, rezultatem jest:

Kod
[Q]Denver[/Q]





[quote=Denver]

cośtam....

[Q]Denver[/Q]

blablabla

[/quote]



blablabla


Dlaczego? Co zrobić, aby także zagnieżdżane znaczniki (takie jak w przykladzie powyzej) zostaly wziete pod uwage?

Z gory dzieki.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
bamboos
post
Post #2





Grupa: Zarejestrowani
Postów: 115
Pomógł: 0
Dołączył: 3.05.2003
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Witam ... ponownie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) )!!
sorr .. nie testowalem w zagniezdzonych (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
to powinno dzialac w zagniezdzonych (i jest troche wydajniejsze:) ) tzn pozbywasz sie ereg i preg_replace z petli i samej petli:
[php:1:471270d6d1]<?php
$str = '
Cytat(bamboos)
pierwsze
quote
Cytat(test)
a to  
jest quote w quote

koniec testu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
';
$str = preg_replace('/
Cytat((.+?))
/', '<q=1>', preg_replace('/
/', '</q>', $str));
echo $str;
?>[/php:1:471270d6d1]
i sorry za zamieszanie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.09.2025 - 07:08