<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Dieser Teil hat nichts mit dem Inhalt des Artikels zu tun,Kann einige platzierenPHPKommentare oder irrelevanter Code</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Willkommen bei ReadPHPTutorial!"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"\n--------------------------------------------------\n"</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
Wie man benutztpreg_matchFunktionen zu überprüfenIPAdresse,Stellen Sie sicher, dass das Format korrekt und effektiv ist?
existierenPHPMitte,`preg_match`Funktionen sind ein sehr leistungsstarkes Werkzeug für den regulären Ausdrucks Matching。Wenn wir die Benutzereingabe überprüfen müssenIPAdresse是否格式正确时,`preg_match`Diese Aufgabe kann schnell erledigt werden。本文将详细讲解Wie man benutzt它验证IPv4UndIPv6Adresse。
</span><span><span class="hljs-comment">### 1. IPv4Adresse验证</span></span><span>
IPv4Adresse由四段数字组成,Der Bereich jeder Zahl ist</span><span><span class="hljs-number">0</span></span><span>ankommen</span><span><span class="hljs-number">255</span></span><span>,Mitte间用点号分隔,Zum Beispiel:</span><span><span class="hljs-number">192.168</span></span><span>.</span><span><span class="hljs-number">0.1</span></span><span>。为了确保格式Und有效性,Wir können den folgenden regulären Ausdruck verwenden:
```php
</span><span><span class="hljs-variable">$ipv4_pattern</span></span><span> = </span><span><span class="hljs-string">"/^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])$/"</span></span><span>;
</span><span><span class="hljs-variable">$ip</span></span><span> = </span><span><span class="hljs-string">"192.168.1.100"</span></span><span>;
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">preg_match</span></span><span>(</span><span><span class="hljs-variable">$ipv4_pattern</span></span><span>, </span><span><span class="hljs-variable">$ip</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"IPv4Adresse格式正确"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"IPv4Adresse格式不正确"</span></span><span>;
}
</span></span>
erklären:
25 [0-5] Match 250-255
2 [0-4] [0-9] Match 200-249
1 [0-9] {2} Übereinstimmung mit 100-199
[1-9]? [0-9] Match 0-99
((...) \.) {3} ... stellen Sie sicher, dass es vier Zahlen gibt und die Mitte durch Punkte getrennt wird
Das IPv6 -Adressformat ist komplexer und besteht aus 8 Sätzen von Hexadezimalzahlen, die jeweils durch einen Dickdarm getrennt sind. Ein Beispiel für einen einfachen regulären Ausdruck ist wie folgt:
<span><span><span class="hljs-variable">$ipv6_pattern</span></span><span> = </span><span><span class="hljs-string">"/^([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$/"</span></span><span>;
</span><span><span class="hljs-variable">$ip</span></span><span> = </span><span><span class="hljs-string">"2001:0db8:85a3:0000:0000:8a2e:0370:7334"</span></span><span>;
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">preg_match</span></span><span>(</span><span><span class="hljs-variable">$ipv6_pattern</span></span><span>, </span><span><span class="hljs-variable">$ip</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"IPv6Adresse格式正确"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"IPv6Adresse格式不正确"</span></span><span>;
}
</span></span>
Wenn Sie sowohl IPv4 als auch IPv6 überprüfen möchten, können Sie die Funktion filter_var verwenden, die eine integrierte IP-Überprüfungsfunktion enthält:
<span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">filter_var</span></span><span>(</span><span><span class="hljs-variable">$ip</span></span><span>, FILTER_VALIDATE_IP)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"IPAdresse有效"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"IPAdresse无效"</span></span><span>;
}
</span></span>
Achten Sie bei der Verarbeitung von Benutzereingaben immer darauf, Leerzeichen und ungültige Zeichen zu entfernen, um übereinstimmende Ausfälle aufgrund früherer und nachfolgender Räume zu vermeiden:
<span><span><span class="hljs-variable">$ip</span></span><span> = </span><span><span class="hljs-title function_ invoke__">trim</span></span><span>(</span><span><span class="hljs-variable">$ip</span></span><span>);
</span></span>
Für die Batch -Überprüfung einer großen Anzahl von IP -Adressen ist es möglich, Schleifen und PREG_MATCH zu kombinieren, um jeden Eingang effizient zu überprüfen.
Unter Verwendung von preg_match kombiniert mit präzisen regulären Ausdrücken können Sie überprüfen, ob das IP -Adressformat korrekt und gültig ist. Für IPv4 liegt der Fokus auf der Zahlenbereich und der Segmentnummer. Für IPv6 liegt der Fokus auf der hexadezimalen Gruppe und der Darmtrennung. Wenn Sie diese Fähigkeiten beherrschen, können Sie Ihr PHP -Programm bei der Bearbeitung von Netzwerkadressen sicherer und zuverlässiger machen.
<span></span>