簡體   English   中英

PHP str_replace 特殊字符

[英]PHP str_replace special chars

我想換兩個?? HTML 文件中的字符如下:

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

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

$string=file_get_contents($file);

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

但恐怕它不起作用。 它適用於普通文本。

有任何想法嗎? 提前致謝!

您正在使用為str_replace()設置的參數,但在substr_replace()調用中。

嘗試

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

手動 substr_replace()

手動 str_replace()

我可以建議您在打開 PHP 標記后立即進行測試時錯誤報告添加到文件的頂部,例如<?php error_reporting(E_ALL); ini_set('display_errors', 1); <?php error_reporting(E_ALL); ini_set('display_errors', 1); 看看它是否會產生任何東西。

最后我找到了一個解決方案,它的工作原理是這樣的:

$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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM