我有一个将页面转换为 JSON 格式的 InDesign 脚本。
然而,这带有智能的“卷曲”双引号,而不是普通的双引号(“”)。当然这会产生一个无效的 JSON 文件。
试图解决这个问题,因为我需要用 PHP 对这些文件进行一些其他操作,所以我尝试接受这个问题并在文件上传时解决它。
事实证明,该功能仅适用于(并非总是)在 Windows PC 中由 InDesign 生成的引号。如果您在 MAC 上运行脚本并上传文件,它根本不起作用,因为编码似乎不同。我已经尝试过其他解决方案,但是,它们根本不会产生任何结果。
这是脚本。
function quoteReplacer($file)
{
$string = file_get_contents($file);
$string = to_utf8($string);
$bits = array('\xe2\x80\x9c', '\xe2\x80\x9d', '\xe2\x80\x98', '\xe2\x80\x99','â','â');
$string = str_replace($bits,'"',$string);
file_put_contents($file,$string);
//file_put_contents($file,$string);
}
function to_utf8( $string ) {
return iconv( 'CP1250', 'UTF-8', $string);
}