Pattern Matching Problem - nur Online?!

drella

Mitglied
hallo alle,

ich nutze folgende funktion (gästebuch) um die links automatisch zu generieren:

Code:
function links($eintrag) {
  $p[0][0] = '"(( |^)((ftp|http|https){1}://)[-a-zA-Z0-9@:%_\+.~#?&//=]+)"i';
  $p[0][1] = '<a href="\1" target="_blank">klick!</a>';
  $p[1][0] = '"( |^)(www.[-a-zA-Z0-9@:%_\+.~#?&//=]+)"i';
  $p[1][1] = '\\1<a href="http://\2" target="_blank">klick!</a>';
  $p[2][0] = '"([_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3})"i';
  $p[2][1] = '<a href="mailto:\1">klick!</a>';
  for($i=0; $i<count($p); $i++) {
      $eintrag = preg_replace($p[$i][0], $p[$i][1], $text);
  }
   return nl2br($eintrag);
 }

lokal auf meinem rechner funktioniert alles einwandfrei aber nicht online? ich hatte $eintrag schon auf global gesetzt - bringt auch nichts.

hat jemand eine idee?
vielen dank
drella
 
hallo nochmal. es funktioniert schon, aber nur wenn in den link kein "-" (minus) drin vorkommt.
kennt sich jemand gut mit pattern matching aus, der das lösen kann?

vielen dank
drella
 
Zurück