Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [PHP] Regulärer Ausdruck (https://www.delphipraxis.net/32960-%5Bphp%5D-regulaerer-ausdruck.html)

fkerber 30. Okt 2004 15:18


[PHP] Regulärer Ausdruck
 
Hi!

Ich hänge da jetzt seit 2 Tagen dran und bekomme es einfach nicht hin

Was "geparst" werden muss:

Code:
[quote="Test"]Test123[/quote]
Was ich dafür habe:
Code:
/\[quote="([a-zA-Z0-9-]+)"\](.*)\[\/quote\]/';

Wo das Problem liegt:
Der obige Ausdruck wird nicht durch diese RegExp erkannt. Ich weiß echt nicht, wodran das liegt.
Bitte helft mir.

Ciao Frederic

CalganX 30. Okt 2004 15:29

Re: [PHP] Regulärer Ausdruck
 
Hi Frederic,
mein Regexp sieht so aus:
Code:
#\[quote=(.*?)\]((.|\n)*?)\[\/quote\]#i
Aber wie du siehst verwende ich keine "", weil ich das auch nicht hinbekommen habe. Hast du vielleicht mal \" versucht?

Chris

SniperBeamer 30. Okt 2004 15:33

Re: [PHP] Regulärer Ausdruck
 
Poste doch mal den ganzen Funktionsaufruf.

fkerber 30. Okt 2004 15:48

Re: [PHP] Regulärer Ausdruck
 
Hi!

Danke, Christopher, aber leider ohne Erfolg.
Es liegt auch an sich nicht an den ", es geht nämlich wenn ich nur [quote="wsss"] abfrage.

Folgende RegExp funktioniert in einem Testprogramm, allerdings nicht im Web:
Code:
\[quote="([a-zA-Z0-9-]+)"\]([\s\w]*)\[\/quote\]
bin echt am Verzweifeln :drunken:


Ciao Frederic

CalganX 30. Okt 2004 16:15

Re: [PHP] Regulärer Ausdruck
 
Hi,
hast du schonmal in der Mitte das einzusetzen, was bei mir steht, oder funktioniert das auch nicht?

Chris

fkerber 30. Okt 2004 17:04

Re: [PHP] Regulärer Ausdruck
 
Hi!

Also damit geht es:
Code:
\[quote="([a-zA-Z0-9-])"\]((.|\n)*)[/quote]
Zitat:

Zitat von "([a-zA-Z0-9-

Man muss dazu sagen, dass ich beim eintreten diesen Falles eine Tabelle beginne und sie in jedem Fall wieder schließe. Der eingesetzte Code sieht so aus:

Code:
<table border="0" align="center" width="95%" cellpadding="3" cellspacing="1""><tr><td><span class="smallfont">[b]\1 hat geschrieben:[/b]</span></td></tr><tr><td><font size="2">\2</font></td></tr></table>
'
Hintergrund der Sache:
Versuche ich auch noch zu überprüfen, ob

am Ende vorliegt, geht es nicht, warum auch immer :gruebel:

Code:
\[quote="([a-zA-Z0-9-])"\]((.|\n)*)/\[\/quote\]
Wenn jemand eine wirklich korrekte Lösung hat kann sie gerne posten. :wink:

Ciao Frederic

ripper8472 30. Okt 2004 18:02

Re: [PHP] Regulärer Ausdruck
 
bin müde, hab nicht alles bewusst gelesen.
vorschlag:

für [ quote="..." ]...[ /quote ], nicht für [ quote ]...[ /quote ]:

Code:
\[quote="([^"]*)"\](.*?)\[/quote\]
auch für [ quote ]...[ /quote ]:

Code:
\[quote(?:="([^"]*)")?\](.*?)\[/quote\]
(hier würd ich das muster so machen /muster/e. guck mal in der doku, was das e bedeutet. da kannst du gucken, ob das muster 2 oder 1 fundstellen hat.

klappt nicht bei verschachtelten quotes a la:
Code:
[quote="..."]      [quote="..."]...[/quote]      [/quote]
dort gibts n absatz über rekursion, mit dem du das vll hinbekommen kannst.
http://de3.php.net/manual/de/referen...ern.syntax.php

alternativ kannst du auch mit preg_match das untersuchen, was du im quote hast und ggf nochmal parsen.

fkerber 31. Okt 2004 00:40

Re: [PHP] Regulärer Ausdruck
 
Hi!

Ich werde es testen, danke.


Ciao Frederic

fkerber 31. Okt 2004 11:57

Re: [PHP] Regulärer Ausdruck
 
Hi!

Nach vielem hin und her geht jetzt folgender Ausdruck:

Code:
\[quote=\"([^ \n]+)\"\](.*)\[\/quote\]

Ciao Frederic


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:10 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz