Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erklärung, wie PHP reguläre Ausdrücke verwendet, um die URL in einem String zu erhalten

Detaillierte Erklärung, wie PHP reguläre Ausdrücke verwendet, um die URL in einem String zu erhalten

墨辰丷
墨辰丷Original
2018-05-29 09:59:576240Durchsuche

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!

Stellungnahme:
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