我正在调用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) 作为一名博主,我想根据它的具体内容(暴力,色情,剧透,淫秽等等)来标记我的CMS中的任何内容.是否有适当的实用库和标准?
我已经阅读了有关RTA,ICRA,PICS和W3C POWDER的信息,但是他们用meta或header标记整个页面.POWDER似乎太复杂了 - 据我所知,它在页面外添加了元数据?如果我使用HTML5 doctype,你能提供一个简单有用的例子吗?
我想要的是一种基于评级标记HTML元素的方法.我也希望它符合任何父母过滤.将EXIF数据添加到图像中以使其过滤独立于上下文也是很好的.
我有一个大的json文件(7.3MB),我尝试json_decode,它由于内存限制而失败(致命错误:允许的内存大小为134217728字节耗尽).有没有办法串行解码json文件,一次只有一个对象/节点?
我看了一下逃逸角的方式默认一切和$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实体?)?这种事情是否有首选做法?
我正在尝试使用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())