PHP-Fusion и амперсанд

В системах типа Sape, Linkfeed, Linktrust на некоторых страницах ссылки выпадают, возникает error( ошибка). Страницы эти имеют вид /article_id=1&rowstart=2. Так вот, это все из-за символа & (амперсанд). Все дело в том что по новым стандартам в ссылке амперсанд (&) должен иметь вид & amp. И вот как раз PHP-Fusion придерживается этих стандартов, т.е. меняет & на & amp. Решение проблемы.

Открываем файл maincore.php. Находим там функцию

// Clean URL Function, prevents entities in server globals
function cleanurl($url) {
$bad_entities = array(«&», «\»», «‘», ‘\»‘, «\'», «<«, «>», «(«, «», «*»;
$safe_entities = array(«& amp;», «», «», «», «», «», «», «», «», «»;
$url = str_replace($bad_entities, $safe_entities, $url);
return $url;

и меняем ее на:

// Clean URL Function, prevents entities in server globals
function cleanurl($url) {
$bad_entities = array(«\»», «‘», ‘\»‘, «\'», «<«, «>», «(«, «», «*»;
$safe_entities = array(«», «», «», «», «», «», «», «», «»;
$url = str_replace($bad_entities, $safe_entities, $url);
return $url;

т.е. отключаем замену. Все, после этого ссылки размещенные на страницах, адрес которых содержит амперсанд, будут нормально  видны биржами.

Написать ответ