Martin Larsen skrev:
> Hej Leif
> 
>> uid er 8 bytes hex.
> 
> Altså fx: [quote:12345ABC=batman]dadada[/quote:12345ABC] ?
> 
>  > Problemer:
>  > A: Der behøver ikke være "=navn"
>  > B: Quotes kan være nestet, og der kan være flere i samme msg.
> 
> Hvis vi går ud fra uid er unik (deraf navnet), så er det ikke et problem 
> at de er nestede, idet regexen så vil søge fra startquouten til den 
> tilsvarende slutquote.
> 
> Heller ikke det valgfrie =navn er et problem.
> 
> Dette burde kunne gøre det:
> 
> \[quote:([0-9A-F]{8})(=\w+)?].*?\[/quote:\1]
> 
> Det sidste spørgsmålstegn er ikke strengt nødvendigt men kan løse nogle 
> problemer med fx genbrug af uid i samme indlæg, og måske også snavs med 
> ukorrekt nestede quotes etc.
> 
> Og i PHP:
> 
> $regex = '\[quote:([0-9A-F]{8})(=\w+)?].*?\[/quote:\1]';
> $text = preg_replace("|$regex|is", '', $text);
> echo $text; //Nu med quotes fjernede
Jeg fik skrevet lidt forkert af.
uid er 10 tegn, og desværre er uid'en IKKE unik, den er den samme for 
alle tags i den besked. Måske er det for at kunne styre når man 
inkluderer en besked i en anden...
Og navn er omgivet af ""
Så jeg lavede regexp om til dette:
$regex = '\[quote:([0-9A-F]{10})(="\w+")?].*?\[/quote:\1]';
Her er en rigtig tekst.
- - - - - - - -
[quote:c9add63da0="leif"][quote:c9add63da0="Aarhus"][quote:c9add63da0="Djursland"]... 
....tekst på niveau 3.[/quote:c9add63da0]
....tekst på niveau 2
[/quote:c9add63da0]
....tekst på niveau 1
[/quote:c9add63da0]
Tekst, der ikke er quotet
- - - - - - - - - - - -
Resultatet er, at der kun bliver fjertet fra det første quote-start til 
og med det første quote-slut.
Så det er virkelig en regexp-udfordring 
 
Indtil videre erstatter jeg [quote...] med <div style='display:none'> og 
  [/quote....] med </div>.
Så bliver quotes skjult, men jeg ville helst have fjernet quotes helt, 
så jeg kunne nøjes med at vise de første 200 ord...
Det kan også klares med css(*), men det virker nu lidt dumt at sende 
ting, der ikke skal vises
(*) <div style='height: 90px; overflow:hidden;' 
onMouseOver='this.style.height=""' onMouseOut='this.style.height="90px"'>
Leif