小编Art*_*pov的帖子

json_encode():参数中的UTF-8序列无效

我正在调用json_encode()来自带有utf8_general_ci整理的MySQL数据库的数据.问题是有些行有奇怪的数据,我无法清理.例如符号?,所以一旦到达json_encode(),它就失败了json_encode(): Invalid UTF-8 sequence in argument.

我试过utf8_encode()utf8_decode(),甚至mb_check_encoding()但它一直打通,并造成混乱.

在Mac上运行PHP 5.3.10.所以问题是 - 我如何清理无效的utf8符号,保留其余数据,以便这样json_encoding()做?

更新.这是一种重现它的方法:

echo json_encode(pack("H*" ,'c32e'));
Run Code Online (Sandbox Code Playgroud)

php json character-encoding

57
推荐指数
5
解决办法
10万
查看次数

格式化显式内容的实用方法

作为一名博主,我想根据它的具体内容(暴力,色情,剧透,淫秽等等)来标记我的CMS中的任何内容.是否有适当的实用库和标准?

我已经阅读了有关RTA,ICRA,PICS和W3C POWDER的信息,但是他们用meta或header标记整个页面.POWDER似乎太复杂了 - 据我所知,它在页面外添加了元数据?如果我使用HTML5 doctype,你能提供一个简单有用的例子吗?

我想要的是一种基于评级标记HTML元素的方法.我也希望它符合任何父母过滤.将EXIF数据添加到图像中以使其过滤独立于上下文也是很好的.

html php standards content-management-system

11
推荐指数
2
解决办法
508
查看次数

由于内存限制,串行json_decode

我有一个大的json文件(7.3MB),我尝试json_decode,它由于内存限制而失败(致命错误:允许的内存大小为134217728字节耗尽).有没有办法串行解码json文件,一次只有一个对象/节点?

php json

5
推荐指数
1
解决办法
4642
查看次数

Angular.js中的部分HTML字符串转义

我看了一下逃逸角的方式默认一切$sce,所以我白名单的数据与$sce.trustAsHtml()通过过滤器(因为$sce没有在服务工作),就像这样:

<sup class="ng-binding" ng-bind-html="row|logEntry"></sup>
Run Code Online (Sandbox Code Playgroud)

但问题是,我不相信HTML的某些部分.

深入研究细节 - 我的翻译中包含HTML,但它们中包含可替换的标记/变量.所以翻译支持HTML,但我不希望提供的令牌包含HTML.

我的过滤器logEntry内部看起来像这样:

var translated = $translate('Log.' + msg.context.entity_type) + '.' + msg.context.action, {
        'object_name': msg.context.object_name,
        'user': msg.context.user_name
});
return $sce.trustAsHtml(translated);
Run Code Online (Sandbox Code Playgroud)

例如,我可以翻译有关userX更改文章的内容,但如果用户名称包含,我不希望结果文本触发alert() <script>alert('evilname')</script>

$translate它本身是不相关的,它可以是任何HTML字符串,我希望某些部分被常规JS替换.replace(),内容保持"作为文本".

所以我的问题是 - 如何逃避HTML的部分内容?我是否必须在视图内部分切片?或者我是否必须采用自定义转义( 最快的方法将HTML标记转义为HTML实体?)?这种事情是否有首选做法?

javascript security angularjs angular-translate

5
推荐指数
1
解决办法
4130
查看次数

使用Dompdf0.6a + FPDI"无法找到外部参照表"

我正在尝试使用dompdf0.6a从html生成pdf文件,并且工作正常,但后来我需要加密它以保护,但我得到错误

FPDF error: Unable to find xref table - Maybe a Problem with 'auto_detect_line_endings'
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用较旧的dompdf版本,它可以正常工作.我想它会生成fpdi不支持的更新的pdf版本.

顺便说一句.我将其追溯到FPDI/pdf_parser.php:208(内部方法pdf_read_xref())

php dompdf fpdi

4
推荐指数
1
解决办法
9089
查看次数