## Wie kann man URLs innerhalb einer Zeichenfolge mit PHP effizient erkennen?

Barbara Streisand
Freigeben: 2024-10-24 18:51:02
Original
680 Leute haben es durchsucht

## How to Efficiently Detect URLs within a String Using PHP?

Bestimmen der Zeichenfolgenpräsenz innerhalb eines Arrays

Sie möchten überprüfen, ob eine vom Benutzer übermittelte Zeichenfolge URLs enthält, die in einem vordefinierten Array gespeichert sind. Zu diesem Zweck haben Sie versucht, die Funktion in_array() zu verwenden, diese gibt jedoch unabhängig von der Eingabe stets „Übereinstimmung nicht gefunden“ zurück.

Korrigierter Ansatz

Das Problem liegt in der Verwendung von in_array() für diese Aufgabe. Diese Funktion bewertet das Vorhandensein einer gesamten Zeichenfolge innerhalb eines Arrays, anstatt Teilwerte abzugleichen. Um die Einbeziehung von Zeichenfolgen zu überprüfen, ziehen Sie die folgenden Alternativen in Betracht:

  1. strpos():

    <code class="php">if (strpos($string, $url) !== FALSE) {
        echo "Match found"; 
        return true;
    }</code>
    Nach dem Login kopieren

    Diese Funktion sucht nach dem Vorkommen von $ URL innerhalb von $string. Ein nicht FALSE strpos-Ergebnis weist auf eine Übereinstimmung hin, und die echo- und return-Anweisungen bedeuten entsprechend „Übereinstimmung gefunden“ und geben diese zurück.

  2. strstr():

    <code class="php">if (strstr($string, $url)) {
        echo "Match found"; 
        return true;
    }</code>
    Nach dem Login kopieren

    strstr() führt effektiv den gleichen Vorgang aus wie strpos(). Es gibt den Teil von $string zurück, der $url enthält, und ein Nicht-FALSE-Ergebnis impliziert wiederum eine erfolgreiche Übereinstimmung.

Durchlaufen des Arrays

Da Sie mehrere URLs im Array prüfen möchten, verwenden Sie eine foreach-Schleife, um jedes Element zu durchlaufen:

<code class="php">foreach ($owned_urls as $url) {
    if (strpos($string, $url) !== FALSE) { // or strstr($string, $url)
        echo "Match found"; 
        return true;
    }
}</code>
Nach dem Login kopieren

Diese Schleife durchsucht jede URL und beendet die Schleife, wenn eine mit der Zeichenfolge übereinstimmt , zeigt „Übereinstimmung gefunden“ an und gibt „true“ zurück. Wenn Sie den Vorgang abschließen, ohne eine Übereinstimmung zu finden, gibt das Skript alternativ „Nicht gefunden!“ aus. und gibt false zurück.

Groß-/Kleinschreibung beachten

Wenn bei der Zeichenfolge und den URLs die Groß-/Kleinschreibung nicht beachtet wird, verwenden Sie die Funktionen „stripos()“ bzw. „stristr()“. Diese Versionen, bei denen die Groß-/Kleinschreibung nicht beachtet wird, stellen sicher, dass die Übereinstimmungen unabhängig von der Groß-/Kleinschreibung sind.

Das obige ist der detaillierte Inhalt von## Wie kann man URLs innerhalb einer Zeichenfolge mit PHP effizient erkennen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage