当您消除body、head和html等重要标签时,您将无法在浏览器中看到输出。
因此,str_replace运行良好。您可以通过运行以下代码进行交叉检查:
<?php
$f =file_get_contents('game1/game.html');
$replacetags=array('<html>', '</html>', '<body>', '</body>','<head>','</head>') ;
$file= str_replace( $replacetags,"",$f);
file_put_contents("output.html", $file);
?>
在浏览器中运行或加载页面(包含上述源代码)后,当您output.html
使用文本编辑器打开生成的文件时,您将看不到 body、head 和 html 标签。
UPD:
为什么 HTML 文件完全空白?
当您在W模式下使用fopen打开文件或 URL 时,会发生以下情况:
'w': Open for writing only; place the file pointer at the
beginning of the file and truncate the file to zero length.
If the file does not exist, attempt to create it.
当您使用fopen as打开文件时fopen ("game1/game.html", "w");
,文件指针被放置在文件的开头并且文件被截断为零长度(空白),因为您没有在 game.html 中写入任何内容,因此 html 文件变为空白。
另请注意: str_replace中的第三个参数是the string or array being searched and replaced on, otherwise known as the haystack
. 但是在您的代码中,您传递的第三个参数$f是文件句柄。因此,当您使用 输出$file
字符串时echo or print
,将打印Resource id #x而不是过滤(目标)字符串。