Abgleich von URLs mit optionalen HTTP- und WWW-Präfixen
Reguläre Ausdrücke sind leistungsstarke Werkzeuge für komplexe Mustervergleichsaufgaben. Beim Abgleichen von URLs gibt es häufig Abweichungen im Format, z. B. ob „http://www“ enthalten ist. Präfix oder nicht.
Lösung mit regulärem Ausdruck
Um URLs mit oder ohne „http://www.“ abzugleichen. Präfix kann der folgende reguläre Ausdruck verwendet werden:
((https?|ftp)://)? ([a-z0-9+!*(),;?&=$_.-]+(:[a-z0-9+!*(),;?&=$_.-]+)?@)? ([a-z0-9\-\.]*)\.(([a-z]{2,4})|([0-9]{1,3}\.([0-9]{1,3})\.([0-9]{1,3}))) (:[0-9]{2,5})? (/([a-z0-9+$_%-]\.?)+)*/? (\?[a-z+&$_.-][a-z0-9;:@&%=+/$_.-]*)? (#a-z_.-][a-z0-9+$%_.-]*)?
Aufschlüsselung des Ausdrucks:
Beispielverwendung
Um zu überprüfen, ob eine bestimmte Zeichenfolge mit dem regulären Ausdruck übereinstimmt, verwenden Sie die folgende Syntax:
<code class="php">if(preg_match(~^$regex$~i, 'www.example.com/etcetc', $m))</code>
Dies gibt TRUE zurück, wenn die Zeichenfolge mit dem URL-Muster übereinstimmt mit oder ohne „http://www.“ Präfix.
Das obige ist der detaillierte Inhalt vonWie ordne ich URLs mit oder ohne optionale HTTP- und WWW-Präfixe mithilfe eines regulären Ausdrucks zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!