Home >Backend Development >PHP Tutorial >str_replace不执行解决方法

str_replace不执行解决方法

WBOY
WBOYOriginal
2016-06-13 10:07:10978browse

str_replace不执行
代码:
$read_str = file_get_contents("../template/HTMLPage.htm");//这是网页模板
$read_str = str_replace("{标题}","111",$read_str);
$read_str = str_replace("{内容}","222",$read_str);
echo($read_str);
最后输出的还是原模板内容,标题和内容没有被替换,但是模板的内容已经读出来了,注释掉中间两行的话可以输出模板内容。如果第一行换成直接$read_str=模板内容,就可以替换,为什么从文件读取出来的就不行呢?

------解决方案--------------------
error_reporting(E_ALL)试试?看看有没错误?
------解决方案--------------------
给出模板文件.
------解决方案--------------------
经过测试这样是没问题的,如果你这样测试也没问题的话,可能出在文件的编码上。确认文件的编码都一致

PHP code
$read_str='<title>模板</title><input type="hidden" id="hd_nid">
{标题}
{流量}
{内容}
{分页}
';$read_str = str_replace("{标题}","111",$read_str);$read_str = str_replace("{内容}","222",$read_str);echo($read_str);
------解决方案--------------------
探讨
如果第一行换成直接$read_str=模板内容,就可以替换,为什么从文件读取出来的就不行呢?

------解决方案--------------------
你将哪些模版标签换成英文的试试?
------解决方案--------------------
应该是编码不一致。经测试,没有发现你说的问题。
------解决方案--------------------
两个文件的编码要一致。 在编辑器里面改。
------解决方案--------------------
gbk也行。 但是两个文件需要统一。再加个header 输出时避免乱码。
------解决方案--------------------
探讨

统统保存为utf-8的格式就好了,不过我用的phpDesigner7里点另存为没有格式的选择,我用EditPlus保存的,不过没有gb2312格式,是不是中文格式只能保存为utf-8
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn