Heim > Artikel > Backend-Entwicklung > Detaillierte Erklärung, wie PHP reguläre Ausdrücke verwendet, um die URL in einem String zu erhalten
Der Client übergibt einen String und alle URLs müssen anhand des Strings abgeglichen werden. In diesem Artikel wird erläutert, wie PHP die URL (Website-Link) in einer Zeichenfolge erhält. Die spezifische Implementierungsmethode
$str ='本文实例讲述了php匹配字符串里所有URL地址的方法。http://www.manongjc.com 分享给大家供大家参考'; preg_match_all("/http:[\/]{2}[a-z]+[.]{1}[a-z\d\-]+[.]{1}[a-z\d]*[\/]*[A-Za-z\d]*[\/]*[A-Za-z\d]*/",$str,$array2); print_r($array2);
finden Sie weiter unten Das laufende Ergebnis lautet:
( [0] => Array ( [0] => http://www.manongjc.com ) )
Die Funktion preg_match_all wird hier hauptsächlich verwendet:
preg_match_all – Führen Sie einen globalen Vergleich regulärer Ausdrücke durch
Syntax:
int preg_match_all ( string pattern, string subject, array matches [, int flags] )
Suchen Sie im Betreff nach allen Mustern gegeben durch Muster Regulärer Ausdruck gleicht den Inhalt ab und fügt die Ergebnisse in der durch Flags angegebenen Reihenfolge in Übereinstimmungen ein.
Nachdem die erste Übereinstimmung gefunden wurde, beginnen nachfolgende Suchvorgänge am Ende der vorherigen Übereinstimmung.
Achten Sie besonders auf PREG_PATTERN_ORDER und PREG_SET_ORDER
Flags können eine Kombination der folgenden Flags sein (beachten Sie, dass es keinen Sinn macht, PREG_PATTERN_ORDER und PREG_SET_ORDER zusammen zu verwenden):
Wenn Sie verwenden PREG_PATTERN_ORDER
Sortieren Sie die Ergebnisse so, dass $matches[0] ein Array aller Musterübereinstimmungen ist, $matches[1] ein Array von Zeichenfolgen ist, die mit dem Untermuster in der ersten Klammer übereinstimmen, und so weiter. (Das heißt, $matches[0] [0] ist das zweite Element in allen Musterübereinstimmungen, $matches[0] [1] ist das zweite Element in allen Musterübereinstimmungen, $matches[1] [0] ist die Übereinstimmung für jedes Element. Das erste Element in Klammern, $matches[1] [0] entspricht dem zweiten Element in jeder Klammer)
<?php preg_match_all ("|<[^>]+>(.*)</[^>]+>|U","<b>example: </b><p align=left>this is a test</p>",$out, PREG_PATTERN_ORDER); /* http://www.manongjc.com/article/1591.html */ print $out[0][0].", ".$out[0][1]."\n"; print $out[1][0].", ".$out[1][1]."\n"; ?>
Ausgabeergebnis:
<b>example: </b>, <p align=left>this is a test</p> example: , this is a test
Das Obige ist das Ich hoffe, dass der gesamte Inhalt des Artikels für das Studium aller hilfreich sein wird.
Verwandte Empfehlungen:
PHPRegulärer AusdruckBeispiele für Matching-, Ersetzungs- und Segmentierungsfunktionen
PHPRegulärer AusdruckBeispielanalyse einer übereinstimmenden Ersetzungs- und Segmentierungsfunktion
Regulärer Ausdruck-Anweisung Detaillierte Erläuterung der Annotationsschritte
Die am häufigsten verwendeten regulären Ausdrücke in PHP
Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung, wie PHP reguläre Ausdrücke verwendet, um die URL in einem String zu erhalten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!