phpbar.de logo

Mailinglisten-Archive

[php] Preg_match / Regex

[php] Preg_match / Regex

Marcus Strube Marcus_Strube at GMX.net
Die Mai 4 21:38:47 CEST 2004


Hallo,

ich hab da mal vor 'ner Weile 'n Regex gebastelt, der noch weit mehr Links
findet, wobei ich grundsätzlich davon ausgegangen bin, dass in einem Link
ein "." enthalten ist. Der Rest ist Ausschließerei soz.. Es gibt demzufolge
aber Probleme mit einem Link folgender Form

<a href = "/a/" >A</a>

Außerdem findet er momentan folgenden Link nicht:

<a href =
http://www.zdf.de/ZDFde/programmuebersicht/0,2060,04_04_11-4-1,00.html>

Wegen der Kommas. Ansonsten findet er aber auch in javascripts, area, den
meta-refresh und (i)frame. Und er findet die Links auch, wenn sie in Options
o.ä. eingebaut sind. Und er ist schnell.

$regex  =
"/(?:=\s{0,}(?:'|\")?|\(\s{0,}(?:'|\"))(?=[^\s'\">,]+\.)([^\s'\">?#=();]+(?(
?=[\s'\">])|(?=[?#])[^\s'\">]+))/x";

Falls er nicht funktionieren sollte, dann liegt das bloß daran, dass ich den
falschen rauskopiert habe. Mässte aber eigentlich der richtige sein.
Solltest du den noch verbessert kriegen oder es schaffen, dass er auch noch
die beiden Links erkennt, die er bislang nicht erkennt oder wenn du noch
einen Link findest, den er nicht findet, würd ich mich sehr über deine
Version des Regex freuen.

HTH und VG
Marcus


php::bar PHP Wiki   -   Listenarchive