Heim  >  Artikel  >  Backend-Entwicklung  >  So gleichen Sie URL-Links mit regulären Ausdrücken in PHP ab

So gleichen Sie URL-Links mit regulären Ausdrücken in PHP ab

WBOY
WBOYOriginal
2023-06-24 09:30:114280Durchsuche

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.

  1. Ordnen Sie gewöhnliche URL-Links zu.

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
  1. Passende IP-Adress-Links

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
  1. URL-Links mit www abgleichen

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
  1. Übereinstimmung mit Links ohne Protokoll

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
  1. Verschiedene gemischte Links abgleichen

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-.,@?^=%&amp;:/~+#]*[w-@?^=%&amp;/~+#])?/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!

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