webForumDet fria alternativet
Logga in / Bli medlem

preg_replace fråga

PHP

1 svar · 167 visningar · startad av Sabotnick

Medlem sedan feb. 200377 inlägg
Trådstart#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

Medlem 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.

254 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)