Hej, är inte helt hemma på RegExp längre så jag söker mig hjälp hos er!
Har följande kod i PHP:
#\{quote=(.*?)\}(.*?)\{/quote\}#s
för att replacea {quote=Namn}Lite text{/quote}
Detta fungerar bra, men om någon citerar ett inlägg med citat blir det:
{quote=Namn}{quote=Namn2}Lite annan text{/quote}Lite text{/quote}
Vilken gör att det inte blir helt rätt då den börjar vid "Namn"s start, men slutar vid "Namn 2s slut". Någon som har något lösning på det här problemet?
(Alla { och } är egentligen [ och ], men wF gillade inte det ;) )
Okej, koden ovan blir:
<div>Namn skrev:<br /><div>text</div></div>
Jag löste det genom att enbart RegExp'a {quote=(.*?)\} och sen replacea {quote} med </div></div>.
Funkar bra än så länge..
Nackdelen är ju att dina besökare kan starta taggar som de inte avslutar, vilket kanske kan leda till grafiska problem. t.ex. om de bara skriver "{/quote}"
Och varför inte använda <blockquote> istället för en div?
Det går i det generella fallet inte att validera rekursiva strukturer med regexpar. Om du verkligen är bekymrad över om huruvida folk kommer att stoppa in överflödiga start- eller stopptaggar måste du parsa upp texten i en trädstruktur för att kolla (och ev. rätta till) obalanserade taggar. Om du inte är bekymrad över den möjligheten, kör som du gör nu.
258 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849