Mailinglisten-Archive |
Hallo Ralf,
r.eggert at travello.de (2010-04-14):
[...]
> ------------------------------------------------------------------------
> Hier steht ein http:/www.link.de und hier steht noch ein <a
> href="http:/www.anderer-link.de">http:/www.anderer-link.de</a>
> ------------------------------------------------------------------------
mal ein etwas anderer Ansatz mit preg_replace_callback():
$source = '...Dein Quelltext...';
$modified = preg_replace_callback(
'~<a\s[^>]+>[^<]*|(https?://[\w:@?=&%./;-]+)~i',
'turn_clickable', $source
);
function turn_clickable ( $m ) {
if ( !isset( $m[1] ) ) {
return $m[0];
} else {
return '<a href="' . $m[1] . '">' . $m[1] . '</a>';
}
}
Die Klasse [\w:@?=&%./;-] müsste wahrscheinlich noch erweitert oder
umgestellt werden. Mehr ist mir im Moment nicht eingefallen.
Grüsse,
oliver
php::bar PHP Wiki - Listenarchive