2010-12-21 5 views

Antwort

0
+0

Das scheint den Trick zu tun, danke. Wofür sind die '@'? – seriousdev

+2

@sexyprout Regexps sind normalerweise mit/slashes/begrenzt, aber das kann Dinge schwer lesbar machen, wenn Sie im regulären Ausdruck nach Schrägstrichen suchen (wie Sie es sind, um 'http://www.example.com/ zu analysieren). was auch immer ...), weil Sie den Schrägstrich-Zeichen in dem Ausdruck entkommen müssen. Um es einfacher zu machen, können Sie jedes Zeichen verwenden, das Ihren regulären Ausdruck abgrenzen soll. In diesem Fall wird "@" als ein beliebiges Zeichen ausgewählt, das nicht im Ausdruck selbst erscheinen muss. Zum Beispiel sind die regulären Ausdrücke '/ http: \/\/(. *) \/(. *) /' Und '@http: // (. *)/(. *) @' Gleichwertig –

+0

Oh yeah, Ich habe die Trennzeichen total vergessen, danke! – seriousdev

2

Mit einem Regex sollte darauf achten. Dies funktioniert im Grunde für Twitter

$text=$a_twitter_message; 
preg_match_all("/http:\/\/(.*?)\/? /", $text, $link_match); 
var_dump($link_match); 
0

Die regulären Ausdruck Lösungen sind in Ordnung, aber hier ist eine weitere einfache Art und Weise: strpos verwenden.

 
if(strpos($text, "http://") !== false) { 
    print "url found"; 
} 

Verwenden Sie Stripos für die Groß- und Kleinschreibung.

Beachten Sie auch, dass die anderen Beispiele für reguläre Ausdrücke nicht nach "https" oder nur URLs suchen, die mit "www" beginnen!

http://php.net/manual/en/function.strpos.php

+0

Und wie URLs dann zu extrahieren? – seriousdev

+0

Ich glaube ich habe deinen Beitrag missverstanden..es sagte 'Spot', nicht extrahieren..Aber ich denke Extrakt macht mehr Sinn;) – Oli

Verwandte Themen