webForumDet fria alternativet

preg_replace fråga

1 svar · 165 visningar · startad av Sabotnick

SabotnickMedlem sedan feb. 200377 inlägg
#1
$str = preg_replace ( "/\<CITAT=(.*?)>(.*?)<\/CITAT>/is",
"<TABLE BORDER=0 CELLPADDING=3 CELLSPACING=1 WIDTH=100% BGCOLOR=#F9F9D5>
<TR><TD CLASS=text>\\1 citeras:</TD></TR>
<TR><TD CLASS=text BGCOLOR=#FCFCFF>\\2</TD>
</TR></TABLE>", $str );

När jag skriver

<CITAT=någon> Hej<CITAT=någon> Hej<CITAT=någon> Hej 3</CITAT>2</CITAT>1</CITAT>

Blir det bara en som går igenom och andra skrivis ut så det blir

någon citeras:
Hej<CITAT=någon> Hej<CITAT=någon> Hej 3
2</CITAT>1</CITAT>

Hur kan man göra så att resultaten blir

någon citeras:
Hej
någon citeras:
Hej
någon citeras:
Hej
3
2
1

MatteMedlem sedan aug. 20002 975 inlägg
#2

Antingen får du göra någon form av rekursiv funktion som jag inte orkar ge mig på nu, eller så får du ersätta <CITAT> respektive </CITAT> var för sig, och inte i samma sats.

130 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)