phpbar.de logo

Mailinglisten-Archive

[php] Alle noch nicht anklickbaren Links anklickbar machen

[php] Alle noch nicht anklickbaren Links anklickbar machen

Oliver Schaedlich just_oliver at gmx.net
Fr Apr 16 13:07:09 CEST 2010


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