![]() |
![]() ![]() |
![]() |
![]()
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. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 115 Pomógł: 0 Dołączył: 3.05.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
witam:)
'#[twoje wyrazenie]#m' chodzi o to m ![]() -------------------- pozdrawiam bamboos
http://piorun.ds.pg.gda.pl/~ronek/log/jedyne.wma |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 132 Pomógł: 0 Dołączył: 24.09.2003 Skąd: Giżycko / Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Niestety, dodanie m po wyrazeniu nic nie dalo... nadal zagniezdzone quote nie są wykrywane
![]() Robil ktos moze cos podobnego kiedys? |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 115 Pomógł: 0 Dołączył: 3.05.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Witam!!!
sorry .. moj blad ![]() ![]() -------------------- pozdrawiam bamboos
http://piorun.ds.pg.gda.pl/~ronek/log/jedyne.wma |
|
|
![]()
Post
#5
|
|
![]() 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. |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 115 Pomógł: 0 Dołączył: 3.05.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Witam!!
mi dziala bez problemu: [php:1:552cf7d62e]<?php $str = '[quote=asdf] asdf asdf adsdf [/quote]'; $str = preg_replace('/[quote=(.+?)](.+?)[/quote]/s', '[q=1]2[/q]', $str); echo $str; ?>[/php:1:552cf7d62e] sprawdz to jeszcze raz ![]() -----------EDIT----------- przy [/quote] nie masz '' przed '/'.. to moglo powodowac blad ?!? 8O -------------------- pozdrawiam bamboos
http://piorun.ds.pg.gda.pl/~ronek/log/jedyne.wma |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 132 Pomógł: 0 Dołączył: 24.09.2003 Skąd: Giżycko / Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Mowilem wyraznie, ze ten kod nie dziala w zagniezdzonych cytatach, czyli w cytatach cytatów. Sprawdz sam. Moj skrypt dziala w tym przypadku dobrze
![]() |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 115 Pomógł: 0 Dołączył: 3.05.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Witam ... ponownie
![]() sorr .. nie testowalem w zagniezdzonych ![]() 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 ![]() $str = preg_replace('/ Cytat((.+?)) /', '<q=1>', preg_replace('/ /', '</q>', $str));
echo $str; ?>[/php:1:471270d6d1] i sorry za zamieszanie ![]() -------------------- pozdrawiam bamboos
http://piorun.ds.pg.gda.pl/~ronek/log/jedyne.wma |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 132 Pomógł: 0 Dołączył: 24.09.2003 Skąd: Giżycko / Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Twój kod tym razem działa, ale problem pojawia się w momencie, gdy jakiś tag quote nie zostanie zamknięty... w tym momencie, gdy ja to zamieniam na tabelki, to pochrzani się dalsza struktura forum, nie tylko posta.
Nadal jestem przy swoim ![]() #edit ciekaw jestem jak to jest na tym forum: wstawię tutaj 2 tagi otwarcia cytatu, a 4 zamknicia: [quote] 1 cytat [quote] 2cytat [/quote] [/quote] [/quote][/quote] #edit2 jak widać, opuszcza 2 tagi zamykajace, tak jak moj skrypt. -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 16:52 |