![]() |
Frage zu einer Regexp
Hallo ihr,
ich habe ein Problem mit folgender RegExp:
Code:
Diese RegExp wird so vom phpBB zusammengestellt, um Smileys zu parsen (in diesem Fall ;) ). Allerdings funktioniert sie nur teilweise, d.h. kommt der Smiley am Ende vom Text und teilweise sogar am Ende einer Zeile, so wird nichts gefunden.
#(?<=.\W|\W.|^\W);\)(?=.\W|\W.|\W$)#
Kann mir jemand erklaeren, was das Ding macht, und wie ich es umschreiben kann? Wichtig ist dabei, dass innerhalb von HTML-Tags nichts ersetzt wird; < und > werden zu < bzw. > escaped, es ist also nur auf < und > zu pruefen. Waere schoen wenn mir jemand helfen koennte :) Greetz alcaeus |
Re: Frage zu einer Regexp
Das Ding kuckt, ob zwischen Smiley und Zeilenanfang/-ende mindestens ein Zeichen oder Whitespace liegt.
So müsste es gehen:
Code:
#(?<=.\W|\W.|^);\)(?=.\W|\W.|$)#
|
Re: Frage zu einer Regexp
Nein, leider negativ :(
Das lustige ist, hier in der DP funktionierts...in einem Vanilla-phpBB funktionierts, bei meinem neuen Forum jedoch nicht, und das obwohl ich an den Smileys nicht geschraubt habe (nein, ehrlich nicht) Wie wuerde denn eine RegEx aussehn, welche nur prueft, ob der Text auch nicht in einem Tag vorkommt? Sowas z.B. soll erlaubt sein (die Pipes stellen Text-Anfang und -Ende dar):
Code:
|;)|
Code:
|a ;)|
Code:
Sowas allerdings nicht:
;) a|
Code:
(Smiley direkt an einem Wort, oder auch in einem Wort)
a;)
Code:
Hast du da vielleicht einen Rat? :gruebel:
<a href=";)">
Greetz alcaeus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz