Ersetzen Sie einen Wert in einer Zeichenfolge, die Teil einer durch Kommas getrennten Liste ist. PHP

lStoilov:

Ich versuche, einen Namen zu ersetzen, der Teil einer durch Kommas getrennten Liste ist.

Es kann jedoch nicht herausgefunden werden, wie dies zu tun ist, um den genauen Namen ohne Berücksichtigung der Groß- und Kleinschreibung zu erfassen und nicht zu erfassen, wenn die genaue Übereinstimmung nicht übereinstimmt

Folgendes habe ich bisher erreicht.

$search  = "My name is Christina and this is another example";
$AllNames = "Lola,Chris,Monic";
$search = str_ireplace(array_map("trim", explode(",", strtolower($AllNames))), '****', $search);

In diesem Fall wird der Name Christina als **** markiert, obwohl ich nur nach Chris suche. Irgendeine Idee, wie ich das erreichen kann.

Ich habe einige Beispiele dafür gefunden, wie ich es mache, wenn ich die durch Kommas getrennte Liste in ein Array zerlege und dann jedes Element durchforste, aber vielleicht gibt es eine einfachere Lösung.

Paul T .:

Versuchen Sie die \bWortgrenze in den Werten zusammen mit /iunempfindlichen Modifikatoren mit preg_replace:

$search  = "My name is Christina and this is another example, my friends are Lola and Monica and Monic and Chris. As lowercase: lola, christina, monic, monica, chris.";
$AllNames = ["/Lola/i", "/Chris\b/i", "/Monic\b/i"];
$search = preg_replace($AllNames, '****', $search);
echo $search;

Ausgabe:

My name is Christina and this is another example, my friends are **** and Monica and **** and ****. As lowercase: ****, christina, ****, monica, ****.

Beachten Sie, dass ich die Wortgrenze mit nicht verwendet habe Lola, diese aber bei Bedarf einfach hinzugefügt werden kann.

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

TOP Liste

heißlabel

Archiv