Morgen SO. Ich versuche festzustellen, ob eine Zeichenfolge eine Liste bestimmter Zeichen enthält oder nicht.
Ich weiß, dass ich dafür preg_match verwenden sollte, aber mein Regex-Wissen ist bedauerlich und Ich konnte keine Informationen von anderen Posts auf dieser Site abrufen. Da die meisten von ihnen nur Strings auf a-z, A-Z und 0-9 beschränken wollen. Aber ich möchte, dass einige Sonderzeichen erlaubt sind, zum Beispiel: ! @ £
und andere nicht in der folgenden Zeichenfolge.
Zeichen, auf die abgestimmt werden soll: # $ % ^ & * ( ) + = - [ ] \ ' ; , . / { } | \ " : < > ? ~
Ich habe das Matching ursprünglich in Javascript geschrieben, das einfach jeden Buchstaben in der Zeichenkette durchlaufen hat und dann jedes Zeichen in einer anderen Zeichenkette durchlaufen hat, bis es eine Übereinstimmung gefunden hat. Rückblickend kann ich nicht glauben, dass ich überhaupt versucht habe, solch eine archaische Methode anzuwenden. Mit dem Aufkommen von JSON (und einem Neuschreiben der Anwendung!), Wechsle ich die Übereinstimmung zu PHP, um eine Fehlermeldung über Json zurückzugeben.
Ich hatte gehofft, dass ein Regex-Guru bei der Umwandlung der obigen Zeichenfolge in eine Regex-Zeichenfolge helfen könnte, aber jede Rückmeldung wäre willkommen!
Ich denke, was du suchst, kann durch das Einfügen der Zeichen, die du gerne zulassen möchtest, erheblich vereinfacht werden:
%Vor%Hier ist ein kurzer Überblick über das, was passiert: