fastix®: email und url finden und ersetzen

Beitrag lesen

Moin!

Du meinst sowas?

###############################################################################
#  find_links($text,$Dereferer,$DerefererVar,$target)                         #
###############################################################################

Wandelt alle im Text gefundenen Links in solche um. Dies sind Angaben wie:

'http://www.xyz.domain'

'http://www.xyz.domain/verz/datei?parameter=wert&so=weiter'

'gopher://gopher.xyz.domain/verz/datei'

'ftp://ftp.xyz.domain/verz/datei'

'mailto:user@mailserver.tld'

'irc:irc.server.tld'

#  Die Protokolle können auch groß geschrieben werden.

$text:          (erforderlich)

$target         (optional, Name eines eventuell neu zu öffnenden Fensters

$Dereferer:     (optional, gibt eines eventuellen DeReferer- Skript an)

$DerefererVar:  (optional, den erwarteten Parametername des DeReferer- Skriptes an )

Beispiel: find_links("PlaPla www.fastix.de Blubber", "_new", "referer,php", "ziel")

wird: "PlaPla <a target="_new" href="http://derefer.php?ziel=www.fastix.de">www.fastix.de</a> Blubber"

function find_links($text,$Dereferer,$DerefererVar,$target) {

# Der Text muss um ein Leerzeichen verlängert werden, falls der Link am Ende steht:
  $text            = $text." ";

$my_target       = "";
  $my_dereferer    = "";
  $my_derefererVar = "";

if ($target) {
    $my_target=' target="'.$target.'"';
  }

if ($Dereferer) {
    $my_dereferer=$my_dereferer.'?';

if ($DerefererVar) {
      $my_dereferer=$my_dereferer.$DerefererVar.'0';
    }
  }
  $ersetzen     = '<a href="'.$my_target.$my_dereferer.'\2 >\2</a>"';

# Suchliste:
  $url_array   = array("http://", "HTTP://", "https://", "HTTPS://", "ftp://", "FTP://", "gopher://", "GOPHER://", "mailto:", "MAILTO:" , "irc:", "IRC:");

for($x=0; $x < count($url_array); $x++) {
    $suchen     = $url_array[$x].'(.*)( )';
    $text   = ereg_replace($suchen,$ersetzen,$text);
  }
  return trim($text);
}

MFFG (Mit freundlich- friedfertigem Grinsen)

fastix®

--
Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.