PHP str_replace特殊字符

时间:2017-10-22 11:47:19

标签: php str-replace

我试图替换两个? HTML文件中的字符如下:

<?php
$file="test.html";

$q1 = "??";
$q2="?";

$string=file_get_contents($file);

$string=substr_replace("$q1", "$q2",$string);
file_put_contents($file, $string);
?>

但我担心它不起作用。它适用于普通文本。

任何想法?提前谢谢!

2 个答案:

答案 0 :(得分:0)

您正在使用str_replace()的参数集,但在substr_replace()来电中。

尝试

$string=str_replace($q1, $q2,$string);
  

The manual substr_replace()

     

The manual str_replace()

我可以建议您将error reporting添加到 例如,在打开PHP标记之后立即测试的文件顶部 <?php error_reporting(E_ALL); ini_set('display_errors', 1);看看它是否会产生任何结果。

答案 1 :(得分:0)

最后我找到了一个解决方案,它的工作原理如下:

$q1 = "??";
$q2="?";

$cadena=utf8_encode(file_get_contents($nombrearchivo));
$cadena = html_entity_decode($cadena, ENT_QUOTES);
$cadena=str_replace("$q1", "$q2",utf8_encode($cadena));
file_put_contents($nombrearchivo, $cadena);