Bonjour,
J'ai réussi à intégrer le rewrite_url pour SMF dans mon Sitemap. Cependant, je n'arrive pas à convertir les caractères accentués, et mon sitemap m'affiche alors ceci � à la place. Je précise également que le remplacement des caractères spéciaux pour le rewrite_url de mon forum SMF ne marche pas non plus

Voici le code utilisé pour mon sitemap, pour SMF :
function simple($modname)
{
global $limit, $prefix, $i, $item;
if (!google_allowed($modname)) {
return;
}
// Boards die nicht angezeigt werden sollen, als Array
$exclude_boards = null;
// / versch. globale Variablen vorher initialisieren, weil in Funktionen aufgerufen
global $db_prefix, $settings, $context, $mxsmf;
if (@file_exists('modules/' . $modname . '/mx_SSI.php')) {
include('modules/' . $modname . '/mx_SSI.php');
}
if (!function_exists('mxSmfCreatePmxUrl')) {
return;
}
$titreSite = 'http://www.myrmecosphere.fr/';
//$posts = ssi_recentPosts(intval($limit), $exclude_boards, 'array');
$posts = ssi_Topics($exclude_boards, 'array');
$umlaute = array("À", "Á", "Â", "Ã", "Ä", "Å",
"Ç",
"È", "É", "Ê", "Ë",
"Ì", "Í", "Î", "Ï",
"Ò", "Ó", "Ô", "Õ", "Ö",
"Ù", "Ú", "Û", "Ü",
"Ý",
"à", "á", "â", "ã", "ä", "å",
"ç",
"è", "é", "ê", "ë",
"ì", "í" ,"î", "ï",
"ð", "ò", "ó", "ô", "õ", "ö",
"ù", "ú", "û", "ü",
"ý", "ÿ",
"&");
$ersetzung = array("A", "A", "A", "A", "A", "A",
"C",
"E", "E", "E", "E",
"I", "I", "I", "I",
"O", "O", "O", "O", "O",
"U", "U", "U", "U",
"Y",
"a", "a", "a", "a", "a", "a",
"c",
"e", "e", "e", "e",
"i", "i", "i", "i",
"o", "o", "o", "o", "o", "o",
"u", "u", "u", "u",
"y", "y",
"et");
foreach ($posts as $row) {
$i++;
$titel_forum_rewrite_t = $row['subject'];
$titel_forum_rewrite_t = str_replace($umlaute, $ersetzung, $titel_forum_rewrite_t);
$titel_forum_rewrite_t = preg_replace('#\W#', "-", $titel_forum_rewrite_t);
$titel_forum_rewrite_t = preg_replace('#---#', "-", $titel_forum_rewrite_t);
$titel_forum_rewrite_t = preg_replace('#--#', "-", $titel_forum_rewrite_t);
$titel_forum_fert_t = $titreSite;
$titel_forum_fert_t.= "Forum-top-";
$titel_forum_fert_t.= "$titel_forum_rewrite_t-";
$titel_forum_fert_t.= $row['topic'];
$titel_forum_fert_t.= ".html";
$item[$i]['link'] = $titel_forum_fert_t;
$item[$i]['date'] = intval($row['timestamp']);
}
}
La fonction ssi_Topics utilisée correspond à la fonction ssi_recentTopics que j'ai modifié afin de récupérer une liste de topics et non de posts. Le code utilisé pour ré-écrire les URL correspond à celui donné par Diabolo pour le rewrite_url avancé pour SMF.
Voici un lien vers mon sitemap :
http://www.myrmecosphere.fr/google_sitemap.phpSi quelqu'un a une idée, je serais preneur

edit : bon, finalement, j'ai trouvé !!!

En me baladant sur le site d'algebre, j'ai découvert phpfreechat, et sur leur site, j'ai découvert par hasard la fonction iconv(), qui permet de convertir une chaine d'un jeu de caractères à un autre ! La ré-écriture d'url marche donc dans mon sitemap et sur mon forum !

Je remets donc la partie concernant la ré-écriture d'url dans mon sitemap pour ceux que ça intéresserait :
$titel_forum_rewrite_t = iconv("ISO-8859-1", "UTF-8", $row['subject']);
$titel_forum_rewrite_t = str_replace($umlaute, $ersetzung, $titel_forum_rewrite_t);
$titel_forum_rewrite_t = preg_replace('#\W#', "-", $titel_forum_rewrite_t);
$titel_forum_rewrite_t = preg_replace('#---#', "-", $titel_forum_rewrite_t);
$titel_forum_rewrite_t = preg_replace('#--#', "-", $titel_forum_rewrite_t);
$titel_forum_fert_t = $titreSite;
$titel_forum_fert_t.= "Forum-top-";
$titel_forum_fert_t.= "$titel_forum_rewrite_t-";
$titel_forum_fert_t.= $row['topic'];
$titel_forum_fert_t.= ".html";
$item[$i]['link'] = $titel_forum_fert_t;
$item[$i]['date'] = intval($row['timestamp']);
