j'ai ecrit unefunction en PHP qui traite du code style Wiki !
J'ai deux serveurs de développement ...
un en interne au travail, et un pour montrer l'avancement à des personnes externes à mon développement !
Mon soucis est au niveau du code utilisé pour implémenter les listes (ul, li) correctement ...
Sur mon serveur en interne, que j'administre personnellement, le code de la function execute bien ce pour quoi, je l'ai créée ( témoin image 1 - voir plus bas ! )
Sur le serveur extérieur, administré par mon hébergeur, le code ne s'exécute pas correctement, apparement il ne traite pas mon code correspondant à un </ul> (témoin image 2 - voir plus bas aussi)
Dans les deux cas, le fichier de function est le même ainsi que les fichiers traités !
Du coup, je ne sais pas quoi en penser, ni que faire ...
sachant, que sur les deux serveurs, je suis allé à supprimer tous les fichiers du site pour les renvoyer !
PS: Les listes sont remarquables par la présence d'une bordure grise visuelle, sur les deux images !
PS 2 : suivent ci-après le code de la function, et les deux images témoins...
La fonction PHP :
CODE
function code2xhtml($var) { // changer les symboles en xhtml !
if(ereg("^\#", $var)) {
if(preg_match("/^(#{3})/", $var))
$var = preg_replace("/^(#{3})(.+)(#{3})$/", "<h3>$2</h3>\n", $var); // h3
elseif(preg_match("/^(#{2})/", $var))
$var = preg_replace("/^(#{2})(.+)(#{2})$/", "<h2>$2</h2>\n", $var); // h2
elseif(preg_match("/^(#)/", $var))
$var = preg_replace("/^(#)(.+)(#)$/", "<h1>$2</h1>\n", $var); // h1
}
elseif(preg_match("/^(\()/", $var))
$var = preg_replace("/^(\()$/", "<ul>\n", $var); // <ul>
elseif(preg_match("/^(\*)/", $var))
$var = preg_replace("/^(\*)(.+)(\*)$/", "<li>$2</li>\n", $var); // <li>
elseif(ereg("^(\`)", $var)) {
if(preg_match("/^(\`dl)/", $var))
$var = preg_replace("/^(\`dl)\|(.+)$/", "<dl class=\"$2\">\n", $var); // <dl>
if(preg_match("/^(\`dt)/", $var))
$var = preg_replace("/^(\`dt)\|(.+)$/", "<dt>$2</dt>\n", $var); // <dt>
elseif(preg_match("/^(\`)/", $var)) {
$var = preg_replace("/^(\`)(.+)(\`)$/", "<dd>$2</dd>\n", $var); // <dd>
if($var == "<dd> </dd>\n") $var = "<dd> </dd>\n";
}
}
elseif(preg_match("/^(\)dl)/", $var))
$var = preg_replace("/^(\)dl)$/", "</dl>\n", $var); // </dl>
elseif(preg_match("/^(\))/", $var))
$var = preg_replace("/^(\))$/", "</ul>\n", $var); // </ul>
else {
if($var == "") $var ="<p> </p>\n"; // <p> vide !
else $var = "<p>$var</p>\n"; // <p>
}
return($var);
}
if(ereg("^\#", $var)) {
if(preg_match("/^(#{3})/", $var))
$var = preg_replace("/^(#{3})(.+)(#{3})$/", "<h3>$2</h3>\n", $var); // h3
elseif(preg_match("/^(#{2})/", $var))
$var = preg_replace("/^(#{2})(.+)(#{2})$/", "<h2>$2</h2>\n", $var); // h2
elseif(preg_match("/^(#)/", $var))
$var = preg_replace("/^(#)(.+)(#)$/", "<h1>$2</h1>\n", $var); // h1
}
elseif(preg_match("/^(\()/", $var))
$var = preg_replace("/^(\()$/", "<ul>\n", $var); // <ul>
elseif(preg_match("/^(\*)/", $var))
$var = preg_replace("/^(\*)(.+)(\*)$/", "<li>$2</li>\n", $var); // <li>
elseif(ereg("^(\`)", $var)) {
if(preg_match("/^(\`dl)/", $var))
$var = preg_replace("/^(\`dl)\|(.+)$/", "<dl class=\"$2\">\n", $var); // <dl>
if(preg_match("/^(\`dt)/", $var))
$var = preg_replace("/^(\`dt)\|(.+)$/", "<dt>$2</dt>\n", $var); // <dt>
elseif(preg_match("/^(\`)/", $var)) {
$var = preg_replace("/^(\`)(.+)(\`)$/", "<dd>$2</dd>\n", $var); // <dd>
if($var == "<dd> </dd>\n") $var = "<dd> </dd>\n";
}
}
elseif(preg_match("/^(\)dl)/", $var))
$var = preg_replace("/^(\)dl)$/", "</dl>\n", $var); // </dl>
elseif(preg_match("/^(\))/", $var))
$var = preg_replace("/^(\))$/", "</ul>\n", $var); // </ul>
else {
if($var == "") $var ="<p> </p>\n"; // <p> vide !
else $var = "<p>$var</p>\n"; // <p>
}
return($var);
}
Témoin image 1 - correct (selon moi) :

Témoin image 2 - incorrect (selon moi) :