"-", "—" => "-", "‘" => "'", "’" => "'", "…" => "...", "“" => "\"", "”" => "\"", " "=>" ", #"<"=>"<", ">"=>">", "œ"=>"oe","…"=>"...","’"=>"'"); $texte = strtr($texte,$unicode); $texte = str_replace("\r\n","\n",$texte); $texte = str_replace("\r","",$texte); $texte = str_replace("\t"," ",$texte); $texte = stripslashes($texte); return $texte; } // Pour la balise [code] du bbcode function _code($texte) { return "
".str_replace(" "," ",$texte[1])."
",$texte); $texte = preg_replace("|\[quote=[\"']?([^\"']+)[\"']?\]|Ui","
",$texte); // Code source $texte = preg_replace_callback("|\[code\]([^\[]+)\[/code\]|Ui",array(&$this,_code),$texte); // Barre horizontale $texte = preg_replace("|\[hr\]|Ui","\\1 a dit:
\\a",$texte); $texte = preg_replace("|\[/quote\]|Ui","
\\a",$texte); // Images $texte = preg_replace("|\[img\]([^\[]+)\[/img\]|Ui","",$texte); // Adresses URLs $texte = preg_replace("|\[url=([^\]]+)\]([^\[]+)\[/url\]|Ui","\\2",$texte); $texte = preg_replace("|\[url\]([^\[]+)\[/url\]|Ui","\\1",$texte); $texte = preg_replace("§\[email]([^\[]+)\[/email\]§Ui","\\1",$texte); // Listes à puces $texte = eregi_replace("\[/list\]","[/list]",$texte); // Pour passer en minuscules while(eregi("\[list(=([1a])?)?\]",$texte,$out)) { $deb = strpos($texte,$out[0]); $txt = substr($texte,$deb); $fin = strpos($txt,"[/list]"); $txt = substr($txt,0,$fin+7); // On détermine le type de liste if($out[2] == "1") $in = ''; elseif($out[2] == "a") $in = '
'; elseif(!empty($out[1])) $in = '
'; else $in = "
"; else $lst.= ""; $texte = str_replace($txt,$lst."\\a",$texte); } if($this->nettoyages == "oui") $texte = $this->nettoyer_apres($texte); return $texte; } // nettoyage suivant l'appel d'une fonction function nettoyer_apres($texte) { $texte = trim($texte); // retours à la ligne $texte = nl2br($texte); $texte = str_replace(""; // Hop on construit la liste $lst = $in."\\a".substr($txt,strlen($out[0]),-7); $lst = preg_replace("/\[\*\](.+?)/U","
- \\1
\\a",$lst); $lst = str_replace("\n\n","\\b",$lst); $lst = str_replace("\n","",$lst); $lst = str_replace("\\b","\n\n",$lst); if(!empty($out[1])) $lst.= "
\n
\n","\n",$texte); $texte = "
".$texte."
"; $texte = str_replace("\\a","\n",$texte); // Pour les retours à la ligne de formatage du code if($this->parse_urls == "oui") { // URLs (+ gestion des liens Peercast et ed2k) $texte = eregi_replace( "(^|[ \t\r\n>])((ftp|http|https|gopher|mailto|news|nntp|telnet|wais|file|prospero|peercast|ed2k):". "[A-Za-z0-9/](([A-Za-z0-9$|.+!*(),;/?:@&~=_#-])|%[A-Fa-f0-9]{2})+)","\\1\\2",$texte); $texte = eregi_replace("(^|[ \t\r\n>])([_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+)", "\\0", $texte); } return $texte; } } function bbcode($texte) { $bbcode = new BBcode(); $texte = $bbcode->transform($texte); return $texte; } ?>