• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Spezieller Filter

Status
Für weitere Antworten geschlossen.
O

ohrflieger

Guest
Hi,
Kurz gesagt: Ich möchte z.B. bei
Code:
http://url.de/ [04.09.] hinweis
das 04.09. aus den Klammern filtern und je nach Hinweistext, z.B. "top" oder "naja" etwas anderes anzeigen. Klar, erstmal kann man den Code per explode() trennen bei der Leerstelle. Aber wie bekomme ich das in den eckigen klammern raus? Die Url kann unterschiedlich lang sein und der Hinweis auch, also gehts per substr() nicht.
 
Werbung:
Bin nun echt kein Fachmann für sowas, aber ich würds so machen:

PHP:
$string="http://url.de/ [04.09.] hinweis";
preg_match_all("/\[(.*)\](.*)/",$string,$gefundene_woerter);

print_r($gefundene_woerter);
 
per Suchmuster ist eine gute Idee. Aber ich versteh leider nicht viel von regulären Ausdrücken. Kannst du mir den bitte erklären? ich will ja auch verstehen was ich da nehme :wink:
 
Werbung:
wenn du nur einmal [...] drin hast schreib volgendes

PHP:
$string = "http://url.de/ [04.09.] hinweis";
$var = explode($string);
echo $var[1];
 
Dann müsste ich nur noch zusätzlich die Klammern entfernen um an das Datum zu kommen...
 
Jo gerne, preg_match_all kannst bei php.net nachlesen :)
Suchmuster:
"/\[(.*)\](.*)/"

Man markiert Reguläre Ausdrücke in PHP mit / und /. Die \ vor [ und ] dienen
zum escapen der Zeichen da wir hier nach dem String [ suchen wollen.
[ und ] sind sonst reservierte Zeichen bei regular expressions. mit ( )
markieren wir den Bereich den wir später haben möchten und .* bedeutet,
jedes beliebige Zeichen beliebig oft. So können wir genau 2 strings aus dem
großen herausfiltern. einmal [xxx] und alles was dahintersteht.
hoffe das war halbwegs verständlich ^^

gruß prostel
 
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben