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和Tidy文档中没有关于它的任何内容。


我知道我可以在 tidy 函数后简单地重新更改我的语言环境


<?php

setlocale(LC_ALL, 'de_DE');


/* [...] */


$oldLocale = setlocale(LC_ALL, 0);

$tidy = tidy_parse_string($text, $config, 'UTF8');

setlocale(LC_ALL, $oldLocale);

?>

但我想知道这是一个功能,一个错误还是其他什么。


红颜莎娜
浏览 126回答 1
1回答

PIPIONE

这是一个错误:https : //github.com/htacg/tidy-html5/issues/770。所以解决方法是在调用后插入 setlocale。<?phpsetlocale(LC_ALL, 'de_DE');/* [...] */$oldLocale = setlocale(LC_ALL, 0);$tidy = tidy_parse_string($text, $config, 'UTF8');setlocale(LC_ALL, $oldLocale);?>
打开App,查看更多内容
随时随地看视频慕课网APP