MudGuard: reg. Expr. gesucht ?

Beitrag lesen

Hi

ich versuche jetzt schon ziemlich lange vergebens einen regulären Ausdruck zu finden, der Links entdeckt. Mein momentaner Stand sieht so aus :

if ($changetext =~ /(http://[A-Za-z0-9._-%&?/]+?)/ig)   {
  my $tag = "<span class="farbmarkierung">$1</span>";
  $changetext =~ s/$1/$tag/;
  }

$changetext =~ s/(http://[A-Za-z0-9._-%&?/]+)/<span class="farbmarkierung">$1</span>/ig

Beim Testen, ob der String matcht, macht g überhaupt keinen Sinn.
Entweder er matcht oder er matcht nicht.
Du willst aber eigentlich ersetzen, machst das aber fürchterlich umständlich (und nichtfunktionierend). Wenn Du ersetzen willst, dann ersetze, aber matche nicht vorher irgendwas, was Du beim Ersetzen verwenden willst.

Und wie gesagt, einige erlaubte Zeichen fehlen noch ( = + ; ) und evtl. noch mehr...

Andreas