phpbar.de logo

Mailinglisten-Archive

[php] ubb-code umwandlung

[php] ubb-code umwandlung

Thomas Michel php_(at)_phpcenter.de
Thu, 27 Dec 2001 16:21:27 +0100


> Hallo zusammen,
>
> habe hier eine funktion, die mir den UBB Tags in HTML Tags umwandelt.
> Was ich aber brauche, ist das umgekehrte. Nur leider steig ich noch nicht
> ganz mit den relgulären Ausdrücken durch und brauche die Umwandlung
> baldmöglichst?
>
> /* UBB CODE */
> function UBBCode($string)
> {
> $string=eregi_replace("\\[img\\]([^\\[]*)\\[/img\\]", "<img src=\"\\1\"
> border=0>", $string);
> $string=eregi_replace("\\[b\\]([^\\[]*)\\[/b\\]", "<b>\\1</b>", $string);
> $string=eregi_replace("\\[i\\]([^\\[]*)\\[/i\\]", "<i>\\1</i>", $string);
> $string=eregi_replace("\\[email\\]([^\\[]*)\\[/email\\]", "<a
> href=\"mailto:\\1\">\\1</a>", $string);
> $string=eregi_replace("\\[url\\]www.([^\\[]*)\\[/url\\]", "<a
> href=\"http://www.\\1\" target=\"_blank\">\\1</a>", $string);
> $string=eregi_replace("\\[url\\]([^\\[]*)\\[/url\\]", "<a href=\"\\1\"
> target=\"_blank\">\\1</a>", $string);
> $string=eregi_replace("\\[url=http://([^\\[]+)\\]([^\\[]*)\\[/url\\]", "<a
> href=\"http://\\1\" target=\"_blank\">\\2</a>", $string);
> return $string;
> }

Hallo
das umgekehrte für urls: den rest wird per js erstellt

mfG

Thomas

function parseurl($messagetext)
{
global $urlSearchArray, $urlReplaceArray, $emailSearchArray,
$emailReplaceArray;

if (!isset($urlSearchArray)) {
$urlSearchArray = array(
"/([^]_a-z0-9-=\"'\/])((https?|ftp|gopher|news|telnet):\/\/|www\.)([^
\r\n\(\)\*\^\$!`\"'\|\[\]\{\};<>]*)/si",
"/^((https?|ftp|gopher|news|telnet):\/\/|www\.)([^
\r\n\(\)\*\^\$!`\"'\|\[\]\{\};<>]*)/si"
);

$urlReplaceArray = array(
"\\1[url]\\2\\4[/url]",
"[url]\\1\\3[/url]"
);

$emailSearchArray = array(
"/([
\n\r\t])([\\._a-zA-Z0-9-]+(\.[\\._a-zA-Z0-9-]+)*_(at)_[a-zA-Z0-9-]+(\.[a-zA-Z0-9-
]+)*(\.[a-zA-Z]{2,3}))/si",
"/^([\\._a-zA-Z0-9-]+(\.[\\._a-zA-Z0-9-]+)*_(at)_[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(
\.[a-zA-Z]{2,3}))/si"
);

$emailReplaceArray = array(
"\\1[email]\\2[/email]",
"[email]\\0[/email]"
);
}

$text = preg_replace($urlSearchArray, $urlReplaceArray, $messagetext);
if (strpos($text, "_(at)_")) {
$text = preg_replace($emailSearchArray, $emailReplaceArray, $text);
}

return $text;

}


php::bar PHP Wiki   -   Listenarchive