2016-08-27 5 views
0

Können Sie mir bitte jemand sagen, wie man richtig in diesem Zeichenfolgebegrenzer hinzuzufügen:brauchen richtige Begrenzer dieser Zeichenfolge

if (!preg_match ('' . '\\/\\/' . $host, $referer)) 

Vielen Dank im voraus, ich habe versucht, alles (/ und @), aber es funktioniert nicht funktioniert bei mir! :(

+0

Können Sie näher erläutern, was Sie erreichen möchten? – BVengerov

+0

@BVengerov Ich bekomme PHP Warning Error "Trennzeichen darf nicht alphanumerisch oder Backslash sein" - alles, was ich versuchte, wie/oder @ als Trennzeichen es funktioniert immer noch nicht für mich. –

+0

Warum brauchst du 'preg_match'? '$ host' ist wahrscheinlich kein regulärer Ausdruck, also einfach eine gewöhnliche Zeichenkette mit' strstr() 'suchen. – Barmar

Antwort

0

Das letzte Symbol in Ihrem regex ist das letzte Symbol der $host Wert, so dass im Grunde ist es nur ungültig regex

Diese funktionieren sollte. preg_match ("#//$host#", $referer);, aber man kann wahrscheinlich einfache String-Suche verwenden, wie in den Kommentaren erwähnt .

EDIT:

Beispiel für strstr:

if(strstr($referer, $host) === false)

+0

Kannst du mir bitte auch einen Code für einfache Strings geben, sorry aber ich habe keine Ahnung, wie man mit der einfachen String-Suche macht, wie in Kommentaren erwähnt? Vielen Dank im Voraus, ich werde diesen Code auch testen! –

+0

@AzemHajdari dort gehen Sie, siehe die Bearbeitung. – BVengerov

+0

Ich verwende if (! Preg_match ("# // $ host #", $ referer)); und PHP-Fehler ist weg, ich denke, das wäre in Ordnung. Vielen Dank sowieso BVengerov. –

0

Sofern $host enthält regelmäßige Zeichen Expressionsmuster, sollten Sie in der Lage sein, das zu ändern:

if(!strstr($referer, '//' . $host)) 

Aber wenn es tatsächlich ein regulärer Ausdruck, können Sie ein beliebiges Zeichen

, die Sie nicht erwarten, in $host erscheinen verwenden als das Trennzeichen, zum Beispiel # ist ein unwahrscheinliches Host-Zeichen.

if (!preg_match("#//$host#", $referer)); 

Da Sie nicht / als Trennzeichen verwenden, brauchen Sie nicht, diese Zeichen zu entkommen.

+0

Okay, ich werde versuchen, hier zu posten. Vielen Dank Barmar! –

+0

Ich benutze den zweiten Code, für mehr Sicherheit, danke Barmar wieder! –

Verwandte Themen