Hi,
ich habe hier schon eine ähnliche Frage gefunden, leider nicht mit den gewünschten Antworten. :)
Also: Ich habe eine beliebige Zeichenkette $z1 und eine Zeichenkette $z2 mit definierten zeichen. Nun möchte ich gerne, dass alle Zeichen in $z1 löschen, die nicht in $z2 stehen.
Ich hab es soweit, dass ich herausfinden kann ob Zeichen in $z1 sind die nicht in $z2 enthalten sind, aber wie bekomme ich die weg?
PHP-Code:
$z1 = "Ich bin ein Test mit Sonderzeichen, nach §1234!";
$z2 = '/^[a-z0-9\ä\ö\ü\_\.\+\-\@]+$/';
if (!preg_match($z2, $z1)){
echo "fehler";
}
Der Code meldet mir nun, dass in $z1 ein Zeichen (das "!") ist, dass nicht in $z2 definiert ist. Aber wie bekomme ich das raus? Ich weiss ja nun, dass es das "!" aber kann ich mir das ausgeben lassen, oder gleich aus $z1 löschen?
Ich möchte als, dass $z1 nach dem durchlauf nurnoch folgendes enthält "Ich bin ein Test mit Sonderzeichen, nach 1234".