seperates Wort per Regulärem Ausdruck suchen!
Thomas
- php
Hi!
ich möchte mit Hilfe von einem regulärem Ausdruck nach einem seperatem Wort such (Spamschutz), also z.B. nach "porn":
gefunden werden sollte '>porn ', ' porn ' ']porn ' ..., aber nicht 'Ansporn'
Daher möchte ich nach '[?]porn[?]' suchen, wobei statt [?] eine suche nach jedem nicht alphanummerischem Zeichen sein soll, wie kann ich das machen?
Danke
Thomas
Hellihello
<?php
$subject='/porn]';
$pattern="/[^a-zA-Z0-9]porn[^a-zA-Z0-9]/";
preg_match($pattern,$subject,$matches);
var_dump($matches);
?>
??
Gruß,
frankx
Was hat ein ^ in einem regulären Ausdruck zu bedeuten?
Worin liegt der Unterschied zw. "=(.)=" "/(.)/" und "!(.)!"?
Danke
Hellihello
Was hat ein ^ in einem regulären Ausdruck zu bedeuten?
Es heißt entweder "am Anfang" im Gegensatz zu $=am Ende. Oder aber "nicht", wenn es in diesen eckigen Klammern ist.
Worin liegt der Unterschied zw. "=(.)=" "/(.)/" und "!(.)!"?
Der Delimiter ist frei wählbar, somit ist das oben ident, genauso wie "°(.)°" etc.pp.
Gruß,
frankx
Hi,
gefunden werden sollte '>porn ', ' porn ' ']porn ' ..., aber nicht 'Ansporn'
Daher möchte ich nach '[?]porn[?]' suchen, wobei statt [?] eine suche nach jedem nicht alphanummerischem Zeichen sein soll, wie kann ich das machen?
\W steht fuer alle Zeichen ausser A-Z, a-z, 1-9 und _ (Underscore).
\b steht fuer Wortgrenze (wie das genau definiert ist weiss ich nicht)
Es koennte jedoch Probleme geben, wenn das Wort Umlaute enthaelt.
mfG,
steckl
Hi,
\b steht fuer Wortgrenze (wie das genau definiert ist weiss ich nicht)
Es koennte jedoch Probleme geben, wenn das Wort Umlaute enthaelt.
nicht bei der Nutzung von Wortgrenzen: "/\bporn\b/"
freundliche Grüße
Ingo