


Warum kann ich Dom?nen in PHP nicht ohne regul?re Ausdrücke validieren?
Oct 31, 2024 am 05:01 AMVerifizierung des PHP-Dom?nennamens
Frage: Wie verifiziert man den Dom?nennamen in PHP, ohne regul?re Ausdrücke zu verwenden?
Verifizierungsanforderungen:
- Beginnt mit einem Buchstaben oder einer Zahl
- Kann Buchstaben, Zahlen und Bindestriche enthalten
- Beginnt mit Buchstaben- oder Zahlenende
- , L?nge reicht von 1 bis 253 Zeichen
- Die L?nge jedes Etiketts betr?gt zwischen 1 und 63 Zeichen
M?gliche Antworten:
Nicht verwendet Domainnamenvalidierung mit regul?ren Ausdrücken ist nicht m?glich, da mehrere Regeln und Einschr?nkungen geprüft werden müssen.
Muster für regul?re Ausdrücke:
/^[a-z\d](-*[a-z\d])*)(\.([a-z\d](-*[a-z\d])*))*$/i
Bedeutung:
- ^ und $ Ankerzeichenfolgen am Anfang und Ende.
- [a-zd] entspricht Buchstaben oder Zahlen.
- (-*[a-zd])* entspricht null oder mehr durch Bindestriche getrennten Buchstaben oder Zahlen.
- Entspricht einem Punkt.
- {} gibt die Anzahl der Wiederholungen an.
Beispielcode:
<code class="php">function is_valid_domain_name($domain_name) { return (preg_match("/^([a-z\d](-*[a-z\d])*)(\.([a-z\d](-*[a-z\d])*))*$/i", $domain_name) //valid chars check && preg_match("/^.{1,253}$/", $domain_name) //overall length check && preg_match("/^[^\.]{1,63}(\.[^\.]{1,63})*$/", $domain_name) ); //length of each label }</code>
Testfall:
域名 | 有效性 |
---|---|
a | Y |
0 | Y |
a.b | Y |
localhost | Y |
google.com | Y |
news.google.co.uk | Y |
xn--fsqu00a.xn--0zwm56d | Y |
goo gle.com | N |
google..com | N |
google.com | N |
google-.com | N |
.google.com | N |
![]() Hei?e KI -Werkzeuge![]() Undress AI ToolAusziehbilder kostenlos ![]() Undresser.AI UndressKI-gestützte App zum Erstellen realistischer Aktfotos ![]() AI Clothes RemoverOnline-KI-Tool zum Entfernen von Kleidung aus Fotos. ![]() Clothoff.ioKI-Kleiderentferner ![]() Video Face SwapTauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus! ![]() Hei?er Artikel
Gras Wonder Build Guide | Uma Musume hübsches Derby
1 Monate vor
By Jack chen
<??>: 99 N?chte im Wald - alle Abzeichen und wie man sie freischalt
4 Wochen vor
By DDD
Uma Musume Pretty Derby Banner Zeitplan (Juli 2025)
1 Monate vor
By Jack chen
Rimworld Odyssey -Temperaturführer für Schiffe und Gravtech
3 Wochen vor
By Jack chen
Windows Security ist leer oder keine Optionen angezeigt
1 Monate vor
By 下次還敢
![]() Hei?e Werkzeuge![]() Notepad++7.3.1Einfach zu bedienender und kostenloser Code-Editor ![]() SublimeText3 chinesische VersionChinesische Version, sehr einfach zu bedienen ![]() Senden Sie Studio 13.0.1Leistungsstarke integrierte PHP-Entwicklungsumgebung ![]() Dreamweaver CS6Visuelle Webentwicklungstools ![]() SublimeText3 Mac-VersionCodebearbeitungssoftware auf Gottesniveau (SublimeText3) ![]() H?ufige Probleme und L?sungen für den variablen PHP -Umfang umfassen: 1. Die globale Variable kann innerhalb der Funktion nicht zugegriffen werden, und sie muss bei der Verwendung des globalen Schlüsselworts oder Parameters übergeben werden. 2. Die statische Variable wird statisch deklariert und nur einmal initialisiert und der Wert wird zwischen mehreren Aufrufen beibehalten. 3.. Hyperglobale Variablen wie $ _get und $ _post k?nnen direkt in jedem Bereich verwendet werden, aber Sie müssen auf eine sichere Filterung achten. 4. Die anonymen Funktionen müssen über das Schlüsselwort verwenden, und wenn Sie externe Variablen ?ndern, müssen Sie eine Referenz übergeben. Das Beherrschen dieser Regeln kann dazu beitragen, Fehler zu vermeiden und die Code -Stabilit?t zu verbessern. ![]() Um PHP -Datei -Uploads sicher zu verarbeiten, müssen Sie die Quelle und die Type und die Eingabe des Dateinamens und des Pfades überprüfen, Serverbeschr?nkungen festlegen und Mediendateien zweimal verarbeiten. 1. überprüfen Sie die Upload -Quelle, um CSRF durch Token zu verhindern, und erkennen Sie den realen MIME -Typ über die Finfo_file mithilfe der Whitelist -Steuerung. 2. Benennen Sie die Datei in eine zuf?llige Zeichenfolge um und bestimmen Sie die Erweiterung, um sie gem?? dem Erkennungstyp in einem Verzeichnis ohne Web zu speichern. 3. Die PHP -Konfiguration begrenzt die Hochladengr??e und das tempor?re Verzeichnis Nginx/Apache verbietet den Zugriff auf das Upload -Verzeichnis. 4. Die GD -Bibliothek stellt die Bilder neu, um potenzielle b?swillige Daten zu l?schen. ![]() Es gibt drei g?ngige Methoden für den PHP -Kommentarcode: 1. Verwenden Sie // oder #, um eine Codezeile zu blockieren, und es wird empfohlen, // zu verwenden. 2. Verwenden Sie /.../, um Codebl?cke mit mehreren Zeilen zu wickeln, die nicht verschachtelt werden k?nnen, aber gekreuzt werden k?nnen. 3.. Kombinationskenntnisse Kommentare wie die Verwendung / if () {} / Um Logikbl?cke zu steuern oder um die Effizienz mit Editor -Verknüpfungsschlüssel zu verbessern, sollten Sie auf die Schlie?ung von Symbolen achten und das Verschachteln bei der Verwendung vermeiden. ![]() Der Schlüssel zum Schreiben von PHP -Kommentaren liegt in der Kl?rung des Zwecks und der Spezifikationen. Kommentare sollten "Warum" und nicht "was getan" erkl?ren, um Redundanz oder zu Einfachheit zu vermeiden. 1. Verwenden Sie ein einheitliches Format wie Docblock (/*/) für Klassen- und Methodenbeschreibungen, um die Lesbarkeit und die Kompatibilit?t der Werkzeuge zu verbessern. 2. Betonen Sie die Gründe für die Logik, z. B. warum JS -Sprünge manuell ausgeben müssen. 3. Fügen Sie eine übersichtsbeschreibung vor komplexem Code hinzu, beschreiben Sie den Prozess in Schritten und helfen Sie, die Gesamtidee zu verstehen. V. Gute Anmerkungen k?nnen die Kommunikationskosten senken und die Effizienz der Code -Wartung verbessern. ![]() AgneeratorinphpiSamemory-effizientes WaytoiterateOverlargedatasetsByyieldingValueatimeinsteadofReturningThemallatonce.1.GeneratorsusetheyieldKeywordtoproduktenvaluesonDemand, ReducingMemoryUsage.2.TheyareusefulforfulforfulfordlingBiglopploups, Lesebiglochen, Leselungen, Lesebigs, Leselung, oder ![]() Tolearnphpeffectival, startbysettingupalocalerverenVironmentusexs -LikexamppandacodeeditorikevScode.1) InstallxamppForapache, MySQL und Php.SeacodeeditorForsyntaxSupport.3) testyourscludingveliktingveliktelaThbiliodble.Neclyble.NektFile ![]() In PHP k?nnen Sie quadratische Klammern oder lockige Klammern verwenden, um Zeichenfolgenspezifikationsspezifische Indexzeichen zu erhalten, aber quadratische Klammern werden empfohlen. Der Index startet von 0 und der Zugriff au?erhalb des Bereichs gibt einen Nullwert zurück und kann keinen Wert zugewiesen; MB_SUBSTR ist erforderlich, um Multi-Byte-Zeichen zu verarbeiten. Zum Beispiel: $ str = "Hallo"; echo $ str [0]; Ausgabe H; und chinesische Zeichen wie Mb_Substr ($ str, 1,1) müssen das richtige Ergebnis erzielen. In den tats?chlichen Anwendungen sollte die L?nge der Zeichenfolge vor dem Schleifen überprüft werden, dynamische Zeichenfolgen müssen für die Gültigkeit verifiziert werden, und mehrsprachige Projekte empfehlen, Multi-Byte-Sicherheitsfunktionen einheitlich zu verwenden. ![]() Toinstallphpquickly, usexampponwindowsorhomebrewonmacos.1.onwindows, download undInstallxampp, SelectComponents, Startapache und PlaceFilesinhtdocscs.2.Anternativ, manuellinstallphpfrfr ![]() |