Willkommen in der Webstatt Zum Webstatt Blog und Stories
Spark am 17.05.06 21:16

Hi!

Ich habe ein Problem mit dem Umrechen der Links.
Der Umbruch nach den 30sten Zeichen wird leider nicht gemacht :(
Kann mir da wer helfen?

$message = preg_replace("/([\w]+:\/\/[\w-?&;#~=\.\/\@]+[\w\/])/i", "<a href=\"$1\" target=\"_blank\">".wordwrap('$1', 30, '<br/>', 1)."</a>", $message);

netcup.de Warum gibt es hier Werbung?
sili sili am 17.05.06 21:38

Du brauchst dafür den e Modifier und eine "spezielle" Syntax beim zweiten Parameter. Sie Beispiel 5 bei http://ch2.php.net/preg_replace :)

Spark am 17.05.06 22:05

kannst du einem regex-noob ein wenig auf die sprünge helfen. sobald ich den modifikator anhänge bekomme ich ne dicke fehlermeldung (parse error)

Franky Franky am 17.05.06 22:26

wie wäre es mit nem einfachem $str = preg_replace('/\S{60}/', '\0 ', $str);?

milahu milahu am 18.05.06 17:09

Franky, ich glaube, er will Links umwandeln und nicht ueberlange Woerter ausloeschen.
Spark, was du suchst nennt sich preg_replace_callback().

sili sili am 18.05.06 17:24

Ungetestet:
$message = preg_replace('/([\w]+:\/\/[\w-?&;#~=\.\/\@]+[\w\/])/ei', "'<a href=\"\\1\" target=\"_blank\">' . wordwrap('\\1', 30, '<br />', 1) . '</a>'", $message);

Spark am 18.05.06 19:19

Quote
Original von sili
Ungetestet:
$message = preg_replace('/([\w]+:\/\/[\w-?&;#~=\.\/\@]+[\w\/])/ei', "'<a href=\"\\1\" target=\"_blank\">' . wordwrap('\\1', 30, '<br />', 1) . '</a>'", $message);

danke sili! es lag an fehlenden anführungszeichen, dass es bei mir nicht ging :(

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt