php中jsonp输出时一般用下面的格式:
callbackname('json string');
如果中间的json string中含有单引号,这个输出就是有问题的,调用方一般是无法处理的,所以我们要对单引号进行转义。
如果是用json_encode方式生成可以用下面的方式转义:
$ret = json_encode($result, JSON_HEX_APOS); header('Content-Type: text/javascript; charset=utf-8'); echo $callback . '(\'' . $ret . '\');';
这里 JSON_HEX_APOS 是php是提供的把单引号换为 \u0027 了。
如果是字符串拼接的,可以用下面的方式:
$jsonData = preg_replace('/\'/', '\u0027', $jsonData);
然后再输出。
问题内容: 这是适合此描述的命令行示例: 我已经尝试过'(不转义),URL编码(在另一端没有urldecoded!)和”(引号消失!),但没有成功。 问题答案: 如果您将“替换为Unicode编码的”(\ u0027),则可以使用: 奇怪,但是值得知道!
问题内容: 我有一个正在编写的脚本,用于将某些字段移至新的数据库,例如 但是如您所见,由于单引号和双引号,查询每次都会中断,是否有解决此问题的方法,例如herdok或类似的东西 问题答案: 为此而制作的。 PHP:mysql_real_escape_string
我正在使用opencsv读取csv文件。有时csv文件中包含单引号或双引号。如何读取它们而不更改csv文件本身中的数据。 现在,如果我用两个单引号替换一个单引号,它工作正常,与双引号相同,用两个替换单个引号,它的工作原理。但我不想碰源文件。 要访问的代码如下: 这样做的结果是跳过下一行(也包含双引号),插入所有奇数行,跳过偶数行 提前谢谢
问题内容: 我该如何工作? 将在引起此故障。我从类似的文件运行它,但也无法从命令行运行。我试过使用and 和(unicode ) 我被卡住了 问题答案: 我有同样的问题。最简单的解决方案是,除了用单引号引起来的撇号外,还要使用反斜杠来将其引起来。 对于您的用例,更改为,它应该可以工作。 另一种方法是将POST数据()用双引号引起来,同时用反斜杠转义JSON字符串中所有嵌套的双引号。
问题内容: 如何在JavaScript中转义(单引号)? 这是我尝试使用的地方: 上面代码的结果在文本框中填充了“ hel”。我试图用\代替’,但这就是我得到的。 上面代码的结果在文本框中填充了“ hel \”。 如何成功转义单引号? 问题答案: 您可以使用HTML实体: 对于 对于 … 。
问题内容: 相关链接: PostgreSQL中的字符串文字和转义字符 这是我的错误: 这是我的查询: 如果我使用双引号,请删除单引号的反斜杠转义符,并在SELECT语句之前删除E 我得到这个: 而且由于查询被截断,我也收到错误消息。 我以前曾使用dblink进行过转义,因此是否需要服务器设置或需要配置的东西? 我知道如果我在sql服务器本身上运行查询,但该查询工作正常,但不能与dblink一起运行