login  Naam:   Wachtwoord: 
Registreer je!
 Forum

dubbele BB fout, zoek n ander systeem

Offline Martijn - 02/06/2008 11:23 (laatste wijziging 02/06/2008 11:24)
Avatar van MartijnCrew PHP ik heb dus mn eigen functies gemaakt met een preg_replace maar als ik doe

[quote ] tekst tekst [quote ]quote in quote[/ quote] tekst tekst [/quote]
dan pakt ie t vanaf de eerste [ quote] tot de 1e [/ quote], wat dus niet klopt. Nu had ik bedacht, dat ik graag wil dat dit gebeurd:

[quote ] tekst tekst [quote ] tekst tekst [/quote]

het SiMa forum heeft het ook, als je iemand quote met code.. Maar ik kan even niet bedenken hoe dat word gedaan, iemand die me een zetje de jusite richting in kan geven?

6 antwoorden

Gesponsorde links
Offline Stijn - 02/06/2008 12:03
Avatar van Stijn PHP expert Je moet twee tellers bijhouden: $openQuoteTags en $closeQuoteTags. Wanneer je een [quote ] matched dan verhoog je de eerste teller. Wanneer je [ /quote] matched verhoog je de tweede teller. Als de tweede teller gelijk is met de eerste teller kan je ervan uitgaan dat de quotes gesloten zijn.
Offline Martijn - 02/06/2008 12:05 (laatste wijziging 02/06/2008 12:06)
Avatar van Martijn Crew PHP ik geloof niet dat ik de clue snap...? heb je een klein voorbeeldje? ik kan het zelf verder laten werken
dit moet er dus gebeurden

Citaat:
Tekst tekst teskst [quote] tekst tekst
Offline mark92 - 02/06/2008 14:32
Avatar van mark92 Gouden medaille

Nieuw lid
bedoel je zoiets?
  1. $blaat = preg_replace("#\\[quote\\](.*)\\[quote\\](.*)\\[/quote\\](.*)\\[/quote\\]#","<div class=\"quote\">\\1 [quote] \\3</div>",$blaat);

Offline Arnout - 02/06/2008 14:45 (laatste wijziging 02/06/2008 15:26)
Avatar van Arnout HTML beginner Je kan toch, zodra er op 'quote' geklikt is kijken of er in dat bericht al gequote werd?

  1. <textarea><?= preg_replace("[quote]expressie[/quote]","[..quote..]",$blaat); ?></textarea>

Het is nu natuurlijk niet zo netjes opgeschreven, maar ik dat je begrijpt wat ik bedoel... 

Edit: Het is ook niet waterdicht, gezien je nog wel een quote in een quote kan typen...
Offline Martijn - 02/06/2008 15:19 (laatste wijziging 02/06/2008 17:53)
Avatar van Martijn Crew PHP ik snap het. Ik ga nu buiten een biertje doen met n vriend, maar volgens mij is dat iff wel een oplossing, ik ga t ff proberen zodra ik tijd heb

Oke, dat van mark92 werkt, als ik er een '2d' quote van maak. Maar met 3 werkt het al niet meer. Is er een manier om dat aan te passen? Ik heb het nu in de functie gezet die eerst mysql_escape enzo doet, en dat zou in principe nergens anders moeten storen, maar toch. Lijkt me netter als dat apart staat
Offline mark92 - 02/06/2008 21:34
Avatar van mark92 Gouden medaille

Nieuw lid
dit is m denk ik:
  1. $blaat = preg_replace("#\\[quote\\](.*)\\[/quote\\]#","<div class=\"quote\">\\1</div>",$blaat,1);
  2. $blaat = preg_replace("#\\[quote\\](.*)\\[/quote\\]#","[..quote..]",$blaat);


alleen 1 quote per bericht toegestaan dan...
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.205s