Все мозги себе съел уже =)
В общем авторы писавшие сайт, явно не знали, что в языковом файле ну очень небезопасно использовать одновременно:
1. одинарные кавычки
2. двойные кавычки
3. переносы строк
4. верстку и теги
5. знаки процента в символах %s, %d и тд для sprintf
Теперь функция json_encode($data, JSON_HEX_QUOT) с прямой задачей не справляется.
Я его беру значит, превращаю в JSON, потом вывожу в шаблоне в виде функции
php:
$data = get_langs();
$json = json_encode($data, JSON_HEX_QUOT);
$smarty->assign('json', $json);
template.htm
<script>
App.Langs.addJson('{$json}');
</script>
Если поставить одинарные кавычки - ругается с одинарными.
Если двойные - с двойными.
Пробовал еще вот так:
str_replace("\"", '\"', str_replace("'", '\'', json_encode($data)))
Ну вообще никак! Последний раз показало конфликт у значка %, думал движение - а шишь, оно заменило двойную кавычку двумя наклонными чертами вместо одной почему-то.
Есть кто помочь?