dedlfix: preg_replace und parse_url

Beitrag lesen

Hi!

$text = preg_replace("!(^|[^"=]{1})(http://|ftp://|mailto:|https://)([^\s<>]+)([\s\n<>]|$)!sme", "'\1<a href="\2\3" target="_blank">" . parse_url('\2\3', PHP_URL_HOST) . "</a>\4'", $zeile->text);

  
Du hast also ungefähr so etwas notiert: foo(argument1, argument2, argument3); Und du meinst, das erste und dritte Argument wird sofort ausgewertet und an foo() übergeben und das zweite erst während foo() seine Arbeit macht? Nach welchem logischen Prinzip soll denn diese ungleiche Behandlung der Argumente passieren?  
  
Schau dir [preg_replace_callback()](http://de.php.net/manual/en/function.preg-replace-callback.php) an.  
  
  
Lo!