PHP bbcode ruku v ruke s wordwrapom

Programovacie jazyky, rady, poradňa...
ATOMIC
Zablokovaný
Zablokovaný
Príspevky: 215
Registrovaný: 26 dec 2007, 19:04
Kontaktovať používateľa:

PHP bbcode ruku v ruke s wordwrapom

Príspevok od používateľa ATOMIC »

cize takto, mám kod

Kód: Vybrať všetko

$row['text'] = wrapuj($row['text']);
$row['text'] = bbcode($row['text']);
//cast vytiahnutia a volania funkcie wrapuj + bbcode fcia

samotna funkcia:

function wrapuj($text) {

$znakov = "55";
$text = wordwrap($text, $znakov, "<br />\n", true);
return $text;

}


ono problem vznika v bbcode ked niekto napise tagy B, I, U napr. pokope pretoze predsa len je to niekolko viac tagov takze sa to troska rozsiri a to je problem:) a najvacsie problemy nastavaju vo velkom pisme tu su vsetky problemove priklady na tomto obrazku:

http://img80.imageshack.us/img80/8185/scrrc7.png

no neviem, nejak ma nenapda ako to riesit. Ked sa na to pozriete dojde vám ze je tam nieco "akosi" inak, ja to potrebujem mat normalne zabezpecene. Dalej si vsimnite na poslednych ze z nejakych "zahadnych" dovodov mi robi medzeru v texte...no jednom slovom som s toho zufaly s toho wordwrapu.

diky za rady
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

a tá fcia bbcode vypadá ako?
ATOMIC
Zablokovaný
Zablokovaný
Príspevky: 215
Registrovaný: 26 dec 2007, 19:04
Kontaktovať používateľa:

Príspevok od používateľa ATOMIC »

ja som si upravil troska prasacky ale FUNKCNE:

Kód: Vybrať všetko

function bbcode($text)
{
   $bb1 = array("/\[b\](.*)\[\/b\]/is", "/\[u\](.*)\[\/u\]/is", "/\[i\](.*)\[\/i\]/is", "/\[url\=(.*?)\](.*?)\[\/url\]/is", "/\[img\](.*)\[\/img\]/is", "/\[font color\=(.*?)\ size\=(.*?)\](.*)\[\/font\]/is", "/\[font color\=(.*?)\](.*)\[\/font\]/is", "/\[font size\=(.*?)\](.*)\[\/font\]/is", "/\[font size\=(.*?)\ color\=(.*?)\](.*)\[\/font\]/is");
   $bbt2 = array("<b>$1</b>", "<u>$1</u>", "<i>$1</i>", "<a href=\"$1\">$2</a>", "<img src=\"$1\">", "<font color=\"$1\" size=\"$2\">$3</font>", "<font color=\"$1\">$2</font>", "<font size=\"$1\">$2</font>", "<font color=\"$1\" size=\"$2\">$3</font>");

   $text = preg_replace($bb1, $bbt2, $text);
   return $text;
} 
Napísať odpoveď