PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP für Fortgeschrittene und Experten (http://www.selfphp.de/forum/forumdisplay.php?f=13)
-   -   unerlaubte zeichen in variable rausfiltern (http://www.selfphp.de/forum/showthread.php?t=13745)

logen 17.06.2006 13:55:18

[erledigt] unerlaubte zeichen in variable rausfiltern
 
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".

Serp 17.06.2006 16:49:21

AW: unerlaubte zeichen in variable rausfiltern
 
Folgendes müsste funktionieren:

PHP-Code:

$z1 "Ich bin ein Test mit Sonderzeichen, nach §1234!";
$z2 '/[a-z0-9\ä\ö\ü\_\.\+\-\@]+/i'
preg_match_all($z1$z2$treffer);
$zi implode(''$treffer[0]); 

Habs allerdings nicht ausprobiert, bin mir also nicht 100%ig sicher.

logen 17.06.2006 21:26:23

AW: unerlaubte zeichen in variable rausfiltern
 
fast. :)

du hattest die Variablen vertauscht, aber ansonsten funktioniert das super.
danke. hier der berichtigte code:
PHP-Code:

$z1 "Ich bin ein Test mit Sonderzeichen, nach §1234!";
$z2 '/[a-z0-9\ä\ö\ü\_\ \.\+\-\@]+/i'
preg_match_all($z2$z1$treffer);
$zi implode(''$treffer[0]); 



Alle Zeitangaben in WEZ +2. Es ist jetzt 16:36:31 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.