In PHP ist der Umgang mit sensibler Wortsubstitution eine häufigste Anforderung, insbesondere auf sozialen Plattformen, Foren und anderen Websites. Um sicherzustellen, dass die Sprache des Benutzers den Vorschriften entspricht, müssen wir sensible Wörter genau ersetzen. Stripos und Str_ireplace sind zwei häufig verwendete PHP -Funktionen, die gut zusammenarbeiten, um dies zu erreichen.
Stripos ist eine Funktion, mit der das erste Ereignis eines Substrings ermittelt wird. Es ist unempfindlich; Str_ireplace ist eine Funktion, mit der eine Zeichenfolge ersetzt werden kann. Sie ist ebenfalls unempfindlich. Wir können die Position des sensiblen Wortes durch Stripos finden und es dann durch str_ireplace ersetzen.
Die Funktion der Stripos -Funktion besteht darin, die Positionsinformationen des ersten Auftretens einer Zeichenfolge zu ermitteln und die Position des ersten Auftretens eines Substring in der Zeichenfolge zurückzugeben. Diese Funktion ist unempfindlich.
stripos($haystack, $needle, $offset);
$ haystack : Die zu findene Zeichenfolge.
$ nadel : Das zu findene Substring.
$ offset : Optional, geben Sie an, wo Sie mit der Suche beginnen sollen.
$haystack = "Hello world!";
$needle = "world";
$position = stripos($haystack, $needle);
echo $position; // Ausgabe 6
Str_ireplace ist eine Funktion, die zum Ersetzen von Zeichenfolgen verwendet wird, und ist von Fall unempfindlich.
str_ireplace($search, $replace, $subject, &$count);
$ Search : Der String, der durchsucht werden soll.
$ ersetzen : Die zum Ersetzen verwendete Zeichenfolge.
$ Betreff : Die zu ersetzende Zielzeichenfolge.
$ count : optional, gibt die Anzahl der Ersetzungen zurück.
$subject = "Hello world!";
$search = "world";
$replace = "PHP";
$result = str_ireplace($search, $replace, $subject);
echo $result; // Ausgabe Hello PHP!
Um einen genauen Austausch sensibler Wörter zu erreichen, können wir die Funktionen von Stripos und Str_ireplace kombinieren. Stripos wird verwendet, um die Position empfindlicher Wörter zu finden. Wenn die sensiblen Wörter existieren, ersetzen Sie sie durch str_ireplace .
<?php
// Definieren einer Liste sensibler Wörter
$sensitiveWords = ['badword', 'offensiveword', 'curseword'];
// Eingegebene Zeichenfolge
$text = "This is a test string containing badword and offensiveword.";
// Durchqueren der sensiblen Wortliste,Ersetzen Sie eins nach dem anderen
foreach ($sensitiveWords as $word) {
// verwenden stripos Stellen Sie fest, ob sensible Wörter enthalten sind
if (stripos($text, $word) !== false) {
// verwenden str_ireplace Ersetzen Sie sensible Wörter
$text = str_ireplace($word, '***', $text);
}
}
echo $text; // Ausgabe:This is a test string containing *** and ***.
?>
In vielen Fällen kann der vom Benutzer eingegebene Text eine URL enthalten. Wenn es in diesen URLs sensible Wörter gibt, müssen wir sie auch verarbeiten. Verwenden von Stripos und Str_ireplace, um empfindliche Wörter in URLs leicht zu ersetzen. Wenn beispielsweise in der URL ein sensibles Wort angezeigt wird, können wir den Domänennamen durch m66.net ersetzen, um sicherzustellen, dass die vom Benutzer eingegebene URL sicher ist.