Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP还原txt文件中的html特殊字符_Php_Replace_Html Entities_Htmlspecialchars - Fatal编程技术网

PHP还原txt文件中的html特殊字符

PHP还原txt文件中的html特殊字符,php,replace,html-entities,htmlspecialchars,Php,Replace,Html Entities,Htmlspecialchars,我目前有一个txt文件,如下所示: ABCDEF Blah’s Test 12344 Blah’s Test Testing 我尝试将特殊字符转换为实际字符,因此,例如,我尝试将原始txt文件转换为: ABCDEF Blah's Test 12344 Blah's Test Testing 为此,我使用了html\u entity\u decode(),但是,我得到的不是预期的结果,而是类似于: ABCDEF Blah’s Test 12344 B

我目前有一个txt文件,如下所示:

ABCDEF
Blah’s Test
12344
Blah’s Test
Testing
我尝试将特殊字符转换为实际字符,因此,例如,我尝试将原始txt文件转换为:

ABCDEF
Blah's Test
12344
Blah's Test
Testing
为此,我使用了
html\u entity\u decode()
,但是,我得到的不是预期的结果,而是类似于:

ABCDEF
Blah’s Test
12344
Blah’s Test
Testing
我如何修复代码以执行我想要的操作

我的代码:

<?php
$items = file_get_contents('test1.txt');
$items = html_entity_decode($items);
file_put_contents("test2.txt", $items);
?>

您使用的是什么版本的PHP

在5.4.0之前的版本中,html_entity_decode()函数将简化为ISO-8859-1编码。在5.4.0及更高版本中,它默认为UTF-8编码。我怀疑您使用的是早于5.4.0的版本。因此,您使用的UTF-8字符没有被正确解码


尝试将UTF-8作为第二个参数传递。有关更多信息,请参见此处:

您使用的是什么版本的PHP

在5.4.0之前的版本中,html_entity_decode()函数将简化为ISO-8859-1编码。在5.4.0及更高版本中,它默认为UTF-8编码。我怀疑您使用的是早于5.4.0的版本。因此,您使用的UTF-8字符没有被正确解码


尝试将UTF-8作为第二个参数传递。有关更多信息,请参见此处:

您使用的是什么版本的PHP

在5.4.0之前的版本中,html_entity_decode()函数将简化为ISO-8859-1编码。在5.4.0及更高版本中,它默认为UTF-8编码。我怀疑您使用的是早于5.4.0的版本。因此,您使用的UTF-8字符没有被正确解码


尝试将UTF-8作为第二个参数传递。有关更多信息,请参见此处:

您使用的是什么版本的PHP

在5.4.0之前的版本中,html_entity_decode()函数将简化为ISO-8859-1编码。在5.4.0及更高版本中,它默认为UTF-8编码。我怀疑您使用的是早于5.4.0的版本。因此,您使用的UTF-8字符没有被正确解码


尝试将UTF-8作为第二个参数传递。有关更多信息,请参见此处:

使用字符编码选项

html_entity_decode($string, ENT_COMPAT, 'UTF-8');

使用字符编码选项

html_entity_decode($string, ENT_COMPAT, 'UTF-8');

使用字符编码选项

html_entity_decode($string, ENT_COMPAT, 'UTF-8');

使用字符编码选项

html_entity_decode($string, ENT_COMPAT, 'UTF-8');
这是角色集

html_entity_decode($a, ENT_QUOTES, 'cp1251');
这是角色集

html_entity_decode($a, ENT_QUOTES, 'cp1251');
这是角色集

html_entity_decode($a, ENT_QUOTES, 'cp1251');
这是角色集

html_entity_decode($a, ENT_QUOTES, 'cp1251');

你试过(htmlspecialchars_decode())@DavidWilkins是的,我已经试过了,它仍然不起作用。在添加值以更改值之前,你考虑过str_replace()吗?你试过(htmlspecialchars_decode())@DavidWilkins是的,我已经试过了,它仍然不起作用。你考虑过str_replace()吗在添加值以更改值之前?您是否尝试过(htmlspecialchars_decode())@DavidWilkins是的,我已经尝试过了,它仍然不起作用。在添加值以更改值之前您是否考虑过str_replace()?您尝试过(htmlspecialchars_decode())@DavidWilkins是的,我已经尝试过了,它仍然不起作用。在添加值以更改值之前,您考虑过str_replace()吗?啊,我相信一定是这样。我需要升级我的PHP版本。你不需要升级你的PHP版本来解决这个问题。您只需要传入可选参数来指定字符集。请看下面来自@Misterkatiyarah的答案,我相信一定是这样。我需要升级我的PHP版本。你不需要升级你的PHP版本来解决这个问题。您只需要传入可选参数来指定字符集。请看下面来自@Misterkatiyarah的答案,我相信一定是这样。我需要升级我的PHP版本。你不需要升级你的PHP版本来解决这个问题。您只需要传入可选参数来指定字符集。请看下面来自@Misterkatiyarah的答案,我相信一定是这样。我需要升级我的PHP版本。你不需要升级你的PHP版本来解决这个问题。您只需要传入可选参数来指定字符集。请参见@MisterKatiyar下面我的答案