Erkennen von URLs in Benutzereingaben
In PHP kann ermittelt werden, ob eine vom Benutzer eingegebene Zeichenfolge eine URL aus einem vordefinierten Array enthält verschiedene Methoden.
Ein Ansatz besteht darin, die in_array()-Funktion von PHP zu verwenden. Im bereitgestellten Code schlägt der Vergleich jedoch aufgrund einer Nichtübereinstimmung zwischen den Zeichenfolgen- und Array-Elementen fehl. Die Zeichenfolge enthält eine URL als Teil eines größeren Satzes, während die Array-Elemente nur Basis-URLs sind.
Eine alternative Methode besteht darin, das URL-Array zu durchlaufen und mithilfe von PHPs strpos zu prüfen, ob jede einzelne innerhalb der Zeichenfolge vorhanden ist ()-Funktion. Wenn eine URL in der Zeichenfolge gefunden wird, gibt die Funktion einen nicht FALSE-Wert zurück, was auf eine Übereinstimmung hinweist.
Hier ist der geänderte Code:
<code class="php">$string = 'my domain name is website3.com'; foreach ($owned_urls as $url) { if (strpos($string, $url) !== FALSE) { echo "Match found"; return true; } } echo "Not found!"; return false;</code>
Alternativ kann die strstr()-Funktion von PHP dies tun für Vergleiche ohne Berücksichtigung der Groß-/Kleinschreibung verwendet werden. Aufgrund der besseren Leistung wird jedoch im Allgemeinen strpos() bevorzugt.
Um sicherzustellen, dass beim Vergleich die Groß-/Kleinschreibung nicht beachtet wird, kann das Skript wie folgt geändert werden:
<code class="php">if ( stripos($string, $url) !== FALSE ) { // ... }</code>
Das obige ist der detaillierte Inhalt vonWie erkennt man URLs in Benutzereingaben und vergleicht sie mit einem vordefinierten Array in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!