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
Denver
post
Post #2





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

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


bamboos - nawet 's' nie pomogło. poradziłem sobie w taki, dosyć zawiły sposób:

[php:1:104b7dc522]$quote_replacement = "[Q=1]2[/Q]";
$text = preg_replace("#
Cytat((.*?))
(.*?)
#sm", $quote_replacement, $text);
while (eregi ("
Cytat((.+))
(.+)
", $text)) {
$text = preg_replace("#
Cytat((.*?))
(.*?)
#sm",$quote_replacement, $text);
}[/php:1:104b7dc522]

oczywiscie zmienna $quote_replacement jest w rzeczywistosci inna i zawiera tabelkę obejmującą cytowaną wypowiedź...

dzięki bamboos za chęć pomocy.
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: 3.10.2025 - 09:55