Siechfred: suchen nach einem Text im String

Beitrag lesen

Guten Abend,

if($FORM{'NEWLINKBANNER'} !~ /http[a-zA-Z0-9_-.:/]gif/)

besser wäre es vielleicht so:

if($FORM{'NEWLINKBANNER'} !~ /http://[a-zA-Z0-9_-~.]+gif\b/) [...]

Das müsste deine URI nur matchen, wenn sie mit http:// anfängt und auf gif endet und dazwischen nur die in den eckigen Klammern genannten Zeichen vorkommen. Wie aber Peter schon schrieb, reicht das natürlich nicht aus, denn dieser RegEx wird auch gematcht, wenn der eingegebene String "http://_.~/bild.gif" lautet. Das ist natürlich keine gültige URI, wird aber trotzdem als solche identifiziert. Wie kompliziert es ist, die Gültigkeit einer E-Mail mittels RegEx zu prüfen, kannst du dir in Selfhtml ja mal anschauen:
http://aktuell.de.selfhtml.org/tippstricks/programmiertechnik/email/index.html.
Und die Vorgaben für die Gültigkeit einer URI sind denke ich wesentlich vielfältiger als bei einer E-Mail. Vielleicht solltest du einfach versuchen, die Existenz einer Datei mit Hilfe einer serverseitigen Technik zu prüfen.

mfg Torsten

--
Opinions are like assholes: everybody has one.
ss:| zu:| ls:# fo:| de:[ va:| ch:? n4:& rl:? br:& js:| ie:% fl:( mo:}