Suche Regulären Ausdruck

bdt600

Erfahrenes Mitglied
Hallo zusammen,
ich und reguläre Ausdrücke, wir werden wohl niemals Freunde :(

Ich habe z.B. folgenden String (Pfadangabe) : dies/das/jenes

Jetzt muss ich mit PHP prüfen, ob "dies" und "jenes" in dem String vorkommt, wobei "dies" am Anfang stehen muss und alles, was dazwischen und danach steht, egal ist, also

dies/das/jenes => ok
dies/das/jenes/sonstwas => ok

dies/das/sonstwas => nicht ok
sonstwas/das/jenes => nicht ok
sonstwas/dies/das/jenes => nicht ok

Kann mir bitte jemand auf die Sprünge helfen?
Danke im voraus.
 
Lösung
Alles klar, Du setzt im Pattern eine Variable ein, die einen Slash enthält. Dann wäre es recht umständlich, diesen zu escapen und ich empfehle statt dessen die Lösung mit dem "|" als Delimiter. Dies funktioniert dann bei mir:
Code:
    // Soll am Anfang stehen
    $search  = "dies/jenes";
$reg = "|^/?$search|";
Alles klar, Du setzt im Pattern eine Variable ein, die einen Slash enthält. Dann wäre es recht umständlich, diesen zu escapen und ich empfehle statt dessen die Lösung mit dem "|" als Delimiter. Dies funktioniert dann bei mir:
Code:
    // Soll am Anfang stehen
    $search  = "dies/jenes";
$reg = "|^/?$search|";
 
Zuletzt bearbeitet:
Lösung
Hallo zusammen,
habe noch ein anderes Problem, aber da es auch um einen regulären Ausdruck geht, mache ich hier weiter.

Ich lese eine Datei mit PHP ein, in der leider auch irgendwelche Steuerzeichen stehen können. Habe dann google bemüht und dies gefunden:
PHP:
$description = preg_replace('/[^[:print:]]/', '', $description);
Damit sind dann alle Steuerzeichen verschwunden, aber leider auch alle Umlaute und ß. Das darf natürlich nicht passieren. Hat bitte noch jemand einen Tipp für mich?
Danke

<edit>
Tante google hat mir doch noch geholfen:
PHP:
$description = preg_replace('/[^[:print:]][^\w ]/u', '', $description);
Sorry
</edit>
 
Zuletzt bearbeitet:
Zurück