PHP preg_match - Wie passend ein string groß - /Kleinschreibung nichts mit, vor oder nach es?
Ich habe einen Teil einer Funktion, die geht so:
if (preg_match("#\bscript\b#",$userInput))
{
$bannedWord = 'script';
logHax();
return TRUE;
}
Dies verursacht ein problem für das, was ich bin versucht zu erreichen, denn es wird nur genau das Wort "Skript" und nicht Variationen davon, wie "ScriPt" oder "<script>
".
Was ich möchte ist, die Beispiele der nicht übereinstimmenden Zeichenfolgen zusammen mit den original-string true zurück.
Könnte jemand mir mit ein bisschen Verständnis in dieser Angelegenheit.
Auch alle tutorials, cover, so etwas wie dieses wäre sehr dankbar,
Danke!
Möglicherweise relevant: php.net/strip_tags
danke, dass gilt. Es wird aber nicht ganz passend in diesem Fall.
Sie können machen es geeignet, indem Sie Ihre zulässige Menge von HTML-tags wie:
Das problem ist, das ist nicht ganz effektiv bei der passend zu den unterschiedlichen Variationen, ich bin mit dem Ziel, z.B.
danke, dass gilt. Es wird aber nicht ganz passend in diesem Fall.
Sie können machen es geeignet, indem Sie Ihre zulässige Menge von HTML-tags wie:
strip_tags($untrusted_html, '<p><a><b><u><i>');
dies ermöglicht nur einfache HTML-markup-tags.Das problem ist, das ist nicht ganz effektiv bei der passend zu den unterschiedlichen Variationen, ich bin mit dem Ziel, z.B.
<script src="bla...
. Es ist auch der Fall, dass ich nicht nur versucht, die tags, aber die Ereignisse zu. Bitte Lesen Sie die post, die ich gewählt habe unten als die richtige Antwort für die am meisten geeignete Lösung in diesem Fall.
InformationsquelleAutor Craig van Tonder | 2012-04-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie diese:
Die /'s in meinem code sind liek, die #'s in yours", das sind die Trennzeichen(?) der Ausdruck, DH alles, was in Ihnen ist der Ausdruck, den ich nach dem letzten / sagt "machen Sie dies mit groß-und Kleinschreibung", " <script\b[^>] ist ein wenig komplizierter, im Grunde heißt es "match <script gefolgt von irgendetwas, aber nicht das a >" und das abschließende > entspricht dem schließen des öffnenden Tags. Puh!
Ich sehr empfehlen, ein Lesen dieser website, wie bereits von einem anderen Benutzer hier regular-expressions.info
Ich finde Sie auch interessant, daher die Frage. Ich habe eigentlich nur gefunden
html5pattern.com
als alles, was von mir aber, so der link war eine große Bereicherung. In anycase ich danke Ihnen für Ihre Beratung/Anregung, die ich wirklich zu schätzen!😀 Hier meine super kurze wahrscheinlich Mist E-Mail-validator regex /\w[\.\w -]+@\w[\.\w]+/
InformationsquelleAutor Dale
Case-insensitive matching:
Hinweis: die
i
. Beachten Sie auch, dass diese das erste Beispiel in die docs:Cheers
Können Sie bitte aktualisieren Sie Ihre original-Beitrag zu Fragen eine einzige, klare Frage? Es ist mir nicht klar, was Sie suchen.
Vielen Dank für Ihre Eingabe Madbreaks es löste das erste problem, aber wie im zweiten Beispiel, was mir fehlte, war der reguläre Ausdruck für eine beliebige Zeichen vor und nach dem string. wie "
<
"string">
"InformationsquelleAutor Madbreaks
Wenn Sie wirklich wollen, zu entsprechen "nichts" vor oder nach der Zeichenfolge (nicht nur ein Wort ist), dann brauchen Sie nicht einmal preg_match hier, bacuse Sie könnte so etwas tun:
Sorry, aber Nein, die op nicht
Vielen Dank, und ich habe bearbeitet den post, um es klarer, und gelöscht, meinen Teil unserer kleinen "argument".
Hey, und da du editiert, ich war in der Lage, entfernen Sie den down-vote. win/win. Cheers.
InformationsquelleAutor Ivan Pintar