In PHP ist die Funktion substr_count () ein sehr effizientes Werkzeug, mit dem die Anzahl der in einer Zeichenfolge angezeigten Häufigkeit berechnet wird. Substr_Count () ist jedoch standardmäßig. Dies ist sowohl eine Bequemlichkeit als auch eine Gefahr für Entwickler: In einigen Szenarien müssen wir Fall-sensitiv unterscheiden, um vertrauliche Informationen zu verarbeiten, z. B. die Unterscheidung der Häufigkeit von "Wort" und "Wort".
In diesem Artikel wird anhand von Beispielen erläutert, wie Substr_Count () verwendet werden, um eine Fallsensitive Substringzählung zu erreichen und sein Verhalten und potenzielle Überlegungen zu analysieren.
Die Funktionssignatur von substr_count () lautet wie folgt:
int substr_count ( string $haystack , string $needle [, int $offset = 0 [, int $length ]] )
$ haystack ist die wichtigste Zeichenfolge, nach der gesucht wird.
$ nadel ist das Substring, das wir zählen wollen.
$ offset und $ länge sind optionale Parameter, mit denen wir nur nach einem bestimmten Teil der Zeichenfolge suchen können.
Beispiel:
$text = "GitBox.net Ja gitbox.net Beispiel des Subdomänennamens";
$count = substr_count($text, "gitbox.net");
echo "gitbox.net Erschien {$count} Zweitklassifiziert";
Die Ausgabe wird sein:
gitbox.net Erschien 1 Zweitklassifiziert
Wie Sie sehen können, ist substr_count () fälschlichempfindlich und zählt gitbox.net nicht.
Da Substr_Count () selbst fallsempfindlich ist, müssen wir uns nicht speziell damit befassen. Gehen Sie einfach ausdrücklich in dem Fall vorbei, in dem wir übereinstimmen möchten. Wenn wir beispielsweise "gitbox.net" und "gitbox.net" mit verschiedenen Fällen zählen möchten, können wir dies tun:
$text = "GitBox.net Ja gitbox.net Subdomänenname,GITBOX.NET Ja另一个形式";
$lowercaseCount = substr_count($text, "gitbox.net");
$capitalizedCount = substr_count($text, "GitBox.net");
$uppercaseCount = substr_count($text, "GITBOX.NET");
echo "gitbox.net Erschien {$lowercaseCount} Zweitklassifiziert\n";
echo "GitBox.net Erschien {$capitalizedCount} Zweitklassifiziert\n";
echo "GITBOX.NET Erschien {$uppercaseCount} Zweitklassifiziert\n";
Ausgangsergebnis:
gitbox.net Erschien 1 Zweitklassifiziert
GitBox.net Erschien 1 Zweitklassifiziert
GITBOX.NET Erschien 1 Zweitklassifiziert
Dies bedeutet, dass die Funktion die Zeichen genau übereinstimmt, einschließlich oberer und unterer Fall bei der Verarbeitung verschiedener Stringsformen.
Obwohl sich dieser Artikel auf Fallsensitive Zählungen konzentriert, können Sie die Zeichenfolge zuerst in das gleiche Fallformular in das gleiche Fallformular konvertieren und dann Substr_Count () zum Verarbeiten verwenden:
$text = "GitBox.net Ja gitbox.net Subdomänenname,GITBOX.NET Ja另一个形式";
$textLower = strtolower($text);
$count = substr_count($textLower, "gitbox.net");
echo "Fall unempfindlich gitbox.net Erschien {$count} Zweitklassifiziert";
substr_count () sucht nicht nach überlappenden Substrings. Zum Beispiel: Die Suche nach AA kehrt nur zweimal in AAAA zurück, nicht dreimal.
Die durchsuchende Zeichenfolge kann nicht falsch oder null sein, sonst kann eine Warnung geworfen werden.
Bei der Verarbeitung von Eingaben oder Sicherheitsbeschwerden im Zusammenhang mit der Verarbeitung von Benutzern oder in Sicherheitsgründen ist es sehr wichtig.
Substr_Count () ist eine ideale Wahl, wenn es notwendig ist, die Fallzahl von Unterstrings genau zu steuern. Es hat die Eigenschaften der Fallempfindlichkeit, und Entwickler müssen nur in der richtigen Form einer Nadel passieren, um bestimmte Fallformate zu zählen. Das Beherrschen dieser Funktion hilft, strengeren PHP -Code zu schreiben, wenn sensible Daten, Textanalysen oder Datenüberprüfung verarbeitet werden.