| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |
|

11-03-2009, 08:06
|
|
Laire
Registrierter Benutzer
|
|
Registriert seit: May 2004
Beiträge: 741
|
|
Frage zu Zeichenbereich bei preg Funktionen
Hallo,
mit folgendem Befehl:
$text= preg_replace("/[^a-zA-Z0-9 ]/","",$text);
entferne ich ja alle Zeichen, bis auf die genannten. So jetzt haben wir zum Beispiel a-z, gibt es einen solchen Bereich auch für zum Beispiel auch für Umlaute? Also ä-ü oder für Satzzeichen $-& ? Wenn ja, gibt es irgendwo eine Liste für die Reihenfolge (beim Alphabet und Zahlen ist das ja logisch)?
|

11-03-2009, 08:12
|
|
php_fussel
Newbie
|
|
Registriert seit: Jan 2009
Beiträge: 120
|
|
Hallo,
es gibt keinen "Bereich" von Ä-Ü, Du mußt dann z.B. alle Umlaute, die (nicht) vorkommen dürfen einzeln aufführen.
ä,ü,ö,Ä,Ü,Ö ... und Satzzeichen ebenfalls extra!
GRuß php_fussel
|

11-03-2009, 08:16
|
|
Laire
Registrierter Benutzer
|
|
Registriert seit: May 2004
Beiträge: 741
|
|
Hm so ein Mist, weil eigentlich geht es mir nur um ein einziges "komisches" Zeichen, welches bei einer Anfrage an einen Game Server mitgesendet wird:
Irgendwie bekomme ich das mit str_replace nicht weg :-(
|

11-03-2009, 08:26
|
|
medium22
Registrierter Benutzer
|
|
Registriert seit: Mar 2006
Beiträge: 306
|
|
Hm..
Wenn Du es nicht 'weg' bekommst, dreh den Spiess doch einfach um? Sende nur das mit was auch gesendet werden darf. Dreh dein replace also so um, dass er nur erlaubte Zeichen mitsendet und nicht jene die Du nicht entfernen kannst...
|

11-03-2009, 08:27
|
|
Laire
Registrierter Benutzer
|
|
Registriert seit: May 2004
Beiträge: 741
|
|
Das oben ist ja schon umgedreht, aber alle Zeichen reinschreiben, bis auf diese Komische Sonderzeichen? Da gibt es so viele Zeichen auf der Tastatur :-(
|

11-03-2009, 09:21
|
|
PHP-Desaster
PHP Expert
|
|
Registriert seit: Mar 2006
Beiträge: 3.104
|
|
Das hier ist dein "komisches Zeichen": http://www.ltg.ed.ac.uk/~richard/utf...=%15&mode=char Das ist ein Steuerzeichen und ist wahrscheinlich Teil der Serverschnittstelle und dient zum Beispiel als Begrenzung von Nachrichtenteilen.
Wikipedia sagt dazu
Zitat:
|
Steuerzeichen, das die negative Bestätigung auf eine vorangegangene Anfrage ausdrückt.
|
|

11-03-2009, 10:30
|
|
Laire
Registrierter Benutzer
|
|
Registriert seit: May 2004
Beiträge: 741
|
|
Und wie bekomme ich es nun aus meinem String ;-)
|

11-03-2009, 10:34
|
|
PHP-Desaster
PHP Expert
|
|
Registriert seit: Mar 2006
Beiträge: 3.104
|
|
Mit chr kannst du dir das Zeichen erstellen, dann sollte auch str_replace funktionieren.
|

11-03-2009, 19:44
|
 |
fireweasel
Registrierter Benutzer
|
|
Registriert seit: Sep 2008
Ort: At home
Beiträge: 680
|
|
Zitat:
Original geschrieben von Laire
Und wie bekomme ich es nun aus meinem String ;-)
|
$gefiltert = preg_replace('/\x15/', '', $original);
__________________
PHP-Code:
class Brick implements Throwable {
// ...
}
|

11-03-2009, 20:42
|
|
PHP-Desaster
PHP Expert
|
|
Registriert seit: Mar 2006
Beiträge: 3.104
|
|
Und wieso ein regulärer Ausdruck für so einen Pups?
|

11-03-2009, 20:52
|
|
asp2php
Banned
|
|
Registriert seit: Feb 2004
Beiträge: 11.746
|
|
Zitat:
Original geschrieben von PHP-Desaster
Und wieso ein regulärer Ausdruck für so einen Pups?
|
OffTopic: Eigentlich mußt du fireweasel mittlerweile kennen; er lebt großspurig und so kreuzt er entsprechend auf 
|

11-03-2009, 21:00
|
 |
fireweasel
Registrierter Benutzer
|
|
Registriert seit: Sep 2008
Ort: At home
Beiträge: 680
|
|
Zitat:
Original geschrieben von PHP-Desaster
Und wieso ein regulärer Ausdruck für so einen Pups?
|
Ich hab lediglich den Ansatz des OP auf das Problem angepasst. Mit str_replace() müsste das selbstverständlich auch gehen:
$gefiltert = str_replace("\x15", '', $original);
Der eigentliche Grund ist, dass ich die Argument-Liste von preg_replace() mittlerweile im Kopf habe. Im Gegensatz zu den str-schlagmichtot()-Funktionen von PHP, wo es eher bunt durcheinander geht, sind mir die preg_...()-Funktionen einfach einheitlicher und somit geläufiger.
Zitat:
Original geschrieben von asp2php
OffTopic: Eigentlich mußt du fireweasel mittlerweile kennen; er lebt großspurig und so kreuzt er entsprechend auf 
|
"Der tut nix, der will nur spielen."
Sags niemanden weiter, aber ich freue mich trotzdem, wenn ich jemandem helfen konnte.
__________________
PHP-Code:
class Brick implements Throwable {
// ...
}
|

11-03-2009, 21:17
|
|
Laire
Registrierter Benutzer
|
|
Registriert seit: May 2004
Beiträge: 741
|
|
Zitat:
Original geschrieben von PHP-Desaster
Mit chr kannst du dir das Zeichen erstellen, dann sollte auch str_replace funktionieren.
|
Jupp klappt jetzt alles ;-)
|

11-03-2009, 21:24
|
|
asp2php
Banned
|
|
Registriert seit: Feb 2004
Beiträge: 11.746
|
|
Zitat:
Original geschrieben von fireweasel
Im Gegensatz zu den str-schlagmichtot()-Funktionen von PHP, wo es eher bunt durcheinander geht, sind mir die preg_...()-Funktionen einfach einheitlicher und somit geläufiger.
|
Oh, ich erkenne dich nicht wieder! In anderen Threads tutst du so, als ob du alles genau untersuchst, jeden möglichen Fall unter die Lupe nimmst, so dass der Code, was du schreibst, perfekt ist. Aber hier sch**ßst du auf einmal auf die Performance und setzst auschließlich preg_xxx ein nur weil du dir kein str_xxx merken kannst
|

11-03-2009, 21:37
|
|
PHP-Desaster
PHP Expert
|
|
Registriert seit: Mar 2006
Beiträge: 3.104
|
|
fireweasel steht wohl auf reguläre Ausdrücke und hat seinen goldenen Hammer gefunden
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|