php - tidy_parse_string 更改先前使用 setlocale 设置的语言环境
问题描述
该函数tidy_parse_string
将我的语言环境更改为“C”。
<?php
setlocale(LC_ALL, 'de_DE');
/* [...] */
echo setlocale(LC_ALL, 0); // Show "de_DE"
$tidy = tidy_parse_string($text, $config, 'UTF8');
echo setlocale(LC_ALL, 0); // show "C" instead of "de_DE"
?>
有一个选项可以防止它吗?
我知道我可以在整理功能后简单地重新更改我的语言环境
<?php
setlocale(LC_ALL, 'de_DE');
/* [...] */
$oldLocale = setlocale(LC_ALL, 0);
$tidy = tidy_parse_string($text, $config, 'UTF8');
setlocale(LC_ALL, $oldLocale);
?>
但我想知道这是一个功能、一个错误还是其他什么。
谢谢
解决方案
这是一个错误:https ://github.com/htacg/tidy-html5/issues/770 。
所以解决方法是在调用之后插入 setlocale。
<?php
setlocale(LC_ALL, 'de_DE');
/* [...] */
$oldLocale = setlocale(LC_ALL, 0);
$tidy = tidy_parse_string($text, $config, 'UTF8');
setlocale(LC_ALL, $oldLocale);
?>
推荐阅读
- angular - 公共网站中的 ASP.NET Web API 授权机制
- java - 在用户任务中暂停可流动的流程
- node.js - Vue cli服务工作者禁用
- fetch - 如何在反应中使用 fetch 获取 json 数据
- javascript - 找到一个不等于这个类的 div
- javascript - CSS 缩放比 drawImage 缩放更有效吗?
- c# - 对于某些 PDF,使用 iText .NET 的 Applied Strokes 被替换
- javascript - 在 mongo 响应 JSON 中添加 Array 对象
- android - 为自定义插件上传发布插件时出错
- node.js - 如何在节点 API 中发送 res.json 最终响应