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

Probleme mit Reg Exp

supertobs

Mitglied
Hey Leute,
ich hab ein Problem mit einem Regulären ausdruck.

Und zwar habe ich einen String, welcher einen Youtubelink enthallten kann.
Wenn dort ein oder mehrere Links vorhanden sind, möchte ich diese Links extrahieren, also dass ich nur noch den/die Links habe, und keinen Text mehr ausenherum

Vielleicht kann mir jemand bei meinem Problem helfen.


LG
Tobi
 
Werbung:
Wie sieht der String konkret aus? Sowohl mit einem als auch mit mehreren Links? Was hast Du denn dazu bisher versucht?
 
Wie der string genau aussieht weiß ich vorher nicht. Es kann daher sein, dass der String eine Form wie [STRING] [LINK] [STRING] hat oder auch
[STRING] [LINK] [LINK] [STRING] oder [LINK] [STRING] oder auch nur [LINK] bzw nur [STRING]

Bisher habe ich versucht, das ganze per preg_replace_callback abzufangen, und dann mit create_function den link rauszufiltern.
Nur diese create_function sache is mir etwas unheimlich, weil man damit irgendwie nicht des anstellen kann, was man machen will

Meine erste idee war es nämlich per Reg Expr den Link rauszusuchen (Das funktioniert auch) und dann per function alle links in ne variable zu schreiben, sprich dann einfach in der create_function funktion als return "" zurückgeben.

Aber es is irgendwie unmöglich per create_function Variablen auserhalb der funktion zu bekommen, geschweige denn auf Klassenparameter zuzugreifen...

LG
Tobi
 
Werbung:
Hi,

ein Beispiel mit preg_match_all
PHP:
$str = "Lorem ipsum dolor sit amet, consectetuer http://www.youtube.com/watch?v=Z6qyoy9kNBs adipiscing elit. Aenean commodo ligula eget dolor. <br />
        Aenean massa. Cum sociis natoque http://www.youtube.com/watch?v=-WXYtUY6aO4 penatibus et magnis dis parturient montes, nascetur ridiculus mus. <br />
http://www.youtube.com/watch?v=gch6edum9Tg Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis ";

    preg_match_all('/(\bhttp:\/\/www\.youtube\.com\/watch\?v=[\w\-]+)\b/', $str, $arr);
    echo join("<br />",$arr[0]);
hoffe das hilft

lg
mac
 
Zurück
Oben