Hi,
Ich versuche verzweifelt folgenden Code zum laufen zu bringen:
$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);
Quote Manual: “Make sure you are aware of PHP's string syntax to know exactly how the interpreted string will look.”
Du willst nicht den äußeren String vor parse\_url beenden (und dahinter fortsetzen), sondern den inneren.
Und dann willst du die Anführungszeichen im ersten Argument von parse\_url entweder escapen, um den äußeren String nicht kaputt zu machen, oder dort Hochkommata nutzen.
`$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'", 'Auf http://www.xxx.de/test.zip gibt es gratis...');`{:.language-php}
MfG ChrisB
--
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?