php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


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! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 23-06-2009, 13:19
Pust
 Registrierter Benutzer
Links : Onlinestatus : Pust ist offline
Registriert seit: Feb 2008
Beiträge: 93
Pust ist zur Zeit noch ein unbeschriebenes Blatt
Standard Verständnisfrage zu einer RegEx mit preg_replace

Hallo,

nur eine kurze Verständnisfrage (RegEx machen mir immer wieder Probleme, da durchzusteigen):
PHP-Code:
 $test preg_replace"/[^a-z0-9 _=#$\*\(\)]/im"""$inhalt ); 
Alles innerhalb der [ ] ist ERLAUBT (wird also nicht durch "" ersetzt), oder?

Nach der 9 kommt ein Leerzeichen, gehört das somit auch zu den erlaubten Zeichen?

Was macht /im ?

Ich brauche das jetzt nicht für was Bestimmtes, beschäftige mich nur gerade mit Regular Expressions.

Wie müßte ich das erweitern, wenn ich jetzt zusätzlich das & ersetzen will?
So?
PHP-Code:
 $test preg_replace"/[^a-z0-9 _=#$\*\(\)]/&/im"""$inhalt ); 
Danke schonmal,
Pust
Mit Zitat antworten
  #2 (permalink)  
Alt 23-06-2009, 14:20
deedee
 Registrierter Benutzer
Links : Onlinestatus : deedee ist offline
Registriert seit: Jun 2009
Beiträge: 80
deedee befindet sich auf einem aufstrebenden Ast
Standard

Sofern ein ^ einem [ folgt, bedeutet das, dass alles innerhalb von [] negiert ist.
[a-z] ... jeder Kleinbuchstabe, z. B. match bei: x
[^a-z] ... kein Kleinbuchstabe, z. B. match bei: 1
i bzw. m sind "Modifier" ("Optionsschalter"). Damit wird das Verhalten des regulären Ausdrucks näher bestimmt. Infos unter z. B. Google: "php regex modifier"

Du sorgst bei deinem letzten Beispiel übrigens für etwas Chaos. preg_replace braucht sog. Delimiter. Der eigentliche reguläre Ausdruck befindet sich innerhalb dessen, der (die) Modifier befinden sich nach dem (zweiten und letzten) Delimiter.
"/[a-z]/i"
[a-z] ... der eigentliche reguläre Ausdruck
/ ... Delimiter
i ... Modifier

$test = preg_replace( "/[^a-z]/", "", $inhalt );
[^a-z] sucht nach Allem außer den Kleinbuchstaben a bis z.
In Verbindung mit dem preg_replace bedeutet dass, das alle Treffer durch "" ersetzt, d. h. gelöscht werden. Übrig bleiben also nur die angegebenen Kleinbuchstaben. Damit sollte eigentlich deine letzte Frage beantwortet sein. Wenn du das & ersetzen willst, brauchst du es nicht in die [] Liste aufnehmen.

Geändert von deedee (23-06-2009 um 15:20 Uhr)
Mit Zitat antworten
  #3 (permalink)  
Alt 23-06-2009, 16:42
Pust
 Registrierter Benutzer
Links : Onlinestatus : Pust ist offline
Registriert seit: Feb 2008
Beiträge: 93
Pust ist zur Zeit noch ein unbeschriebenes Blatt
Standard Danke!

Danke!
Das war mal eine ziemlich verständliche Erklärung.
Ob ich sie wirklich ganz kapiert habe, werde ich erst sehen, wenn ich das mal ernsthaft verwende. Zumindest glaube ich es.

Danke nochmal und Grüße,
Pust
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
preg_replace bzw. Regex sk299 PHP Developer Forum 5 31-03-2008 21:07
[REGEX] preg_replace Phoenix666 PHP Developer Forum 12 13-09-2006 18:41
Variablen aus Regex in preg_replace einer Funktion übergeben? JHansen PHP Developer Forum 5 13-09-2006 12:56
[REGEX] Preg_replace Hilfe djdirek PHP Developer Forum 12 30-08-2005 23:16
[REGEX] preg_replace futzinator PHP Developer Forum 11 06-06-2005 14:58

Themen-Optionen
Thema bewerten
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.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

Plates native PHP template system

Plates ist ein natives PHP-Vorlagensystem, das schnell, einfach zu verwenden und einfach zu erweitern ist.

24.05.2019 Berni | Kategorie: PHP/ Framework
Maqetta Open Source  HTML5-Editor ansehen Maqetta Open Source HTML5-Editor

Einen WYSIWYG-Editor zur visuellen Erstellung von Userinterfaces in HTML5 (Drag-and-Drop)

13.05.2019 Berni | Kategorie: HTML5/ EDITOR
NodeBB

NodeBB ist eine Foren-Software auf NodeJS-Basis

13.05.2019 Berni | Kategorie: PHP/ Forum PHP Software
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 05:34 Uhr.