In der täglichen PHP-Entwicklung müssen wir häufig reguläre Ausdrücke verwenden, um Zeichenfolgen abzugleichen und zu ersetzen. Dabei sind übereinstimmende URL-Links eine sehr häufige Anforderung. In diesem Artikel wird erläutert, wie Sie reguläre Ausdrücke in PHP verwenden, um verschiedene URL-Links abzugleichen.
Gewöhnliche URL-Links beziehen sich auf Links, die mit http oder https beginnen. Wir können den folgenden regulären Ausdruck verwenden, um sie abzugleichen:
$pattern = "/((http|https)://[w-_]+(.[w-_]+)+([w-.,@?^=%&:/~+#!]*[w-@?^=%&/~+#])?)/i";
wobei i bedeutet, dass die Groß- und Kleinschreibung nicht beachtet werden soll. Dieser reguläre Ausdruck kann mit den folgenden Arten von URL-Links übereinstimmen:
http://www.example.com http://www.example.com/index.php http://www.example.com/?id=123 https://www.example.com https://www.example.com/index.php https://www.example.com/?id=123
Zusätzlich zu gewöhnlichen URL-Links müssen wir manchmal auch IP-Adress-Links abgleichen. Wir können den folgenden regulären Ausdruck verwenden, um sie abzugleichen:
$pattern = "/((http|https)://)?(d{1,3}.d{1,3}.d{1,3}.d{1,3})(:d{1,5})?([w-.,@?^=%&:/~+#!]*[w-@?^=%&/~+#])?/i";
Dieser reguläre Ausdruck kann die folgenden Arten von URL-Links abgleichen:
http://192.168.0.1 http://192.168.0.1/index.php http://192.168.0.1/?id=123 https://192.168.0.1 https://192.168.0.1/index.php https://192.168.0.1/?id=123
In einigen Fällen müssen wir URLs mit der www-URL abgleichen Link. Wir können den folgenden regulären Ausdruck verwenden, um sie abzugleichen:
$pattern = "/((http|https)://)?(www.)?[w-_]+(.[w-_]+)+([w-.,@?^=%&:/~+#!]*[w-@?^=%&/~+#])?/i";
Dieser reguläre Ausdruck kann die folgenden Arten von URL-Links abgleichen:
http://www.example.com http://www.example.com/index.php http://www.example.com/?id=123 https://www.example.com https://www.example.com/index.php https://www.example.com/?id=123
In einigen Fällen müssen wir Links ohne Protokoll abgleichen , beispielsweise ein Link wie //www.example.com. Wir können den folgenden regulären Ausdruck verwenden, um sie abzugleichen:
$pattern = "/(^|[ ])([w]+?://[w]+[^ " <]*)|(^|[ ])([w]+?//[w]+[^ " <]*)|(^|[ ])(//[w]+[^ " <]*)/i";
Dieser reguläre Ausdruck kann mit den folgenden Arten von URL-Links übereinstimmen:
//www.example.com //www.example.com/index.php //www.example.com/?id=123
In der tatsächlichen Entwicklung müssen wir möglicherweise verschiedene gemischte Links abgleichen , wie etwa Links mit Abfrageparametern oder Ankern, oder Links mit Sonderzeichen. Wir können den folgenden regulären Ausdruck verwenden, um sie abzugleichen:
$pattern = "/((http|https)://)?([a-zA-Z0-9-.]+(.[a-zA-Z]{2,3})(:d{1,5})?)([w-.,@?^=%&:/~+#]*[w-@?^=%&/~+#])?/i";
Dieser reguläre Ausdruck kann die folgenden Arten von URL-Links abgleichen:
http://www.example.com/index.php?id=123#top https://www.example.com/home?name=john&age=20 https://www.example.com/1+1=2
Bisher haben wir vorgestellt, wie man reguläre Ausdrücke verwendet, um verschiedene URL-Links abzugleichen. In der tatsächlichen Entwicklung können wir bei Bedarf geeignete reguläre Ausdrücke auswählen, um den Abgleich abzuschließen. Gleichzeitig ist zu beachten, dass reguläre Ausdrücke einen gewissen Einfluss auf die Leistung haben. Daher müssen Sie bei der Verarbeitung großer Datenmengen auf Leistungsprobleme achten.
Das obige ist der detaillierte Inhalt vonSo gleichen Sie URL-Links mit regulären Ausdrücken in PHP ab. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!