是否可以通过require
函数以某种方式修改现有代码中包含的文件内容?例如,我在我的代码中包含文件,如下所示:
require $page_body;
现在我想使用strip_tags
函数省略HTML标记以删除HTML标记。
如果此代码包含没有PHP代码(<?php /* php code goes here */ ?>
)的纯HTML标记,则以下内容将按预期工作:
$content = strip_tags(file_get_contents($page_body));
echo $content;
但是,如果我的$page_body
是HTML和PHP的混合,那么当我使用$content
打印print_r
时,回声什么也没有回复,这似乎是几个空字符串
[wakatana@HP-PC v2]$ php includer.php
[wakatana@HP-PC v2]$
我的猜测是strip_tags
对于包含alos PHP的HTML代码效果不佳。
答案 0 :(得分:0)
当您使用require或include时,代码将被插入文件中,之后您无法更改它。
您可以做的是使用fopen()打开文件,然后执行所有更改并保存文件。毕竟,当您再次加载文件时,它将按您的意愿进行。
如果您不想更改实际文件,可以打开原始文件,以及临时文件,从原始文件复制信息,更改它,将其保存到临时文件,包含临时文件,然后将其删除。这样,您可以在不更改原始文件的情况下按原样更改原始信息。
答案 1 :(得分:0)
一个解决方案可能是output buffering,我建议您查看一下,对其他内容也很有用。
ob_start();
require $page_body;
$content = ob_get_clean();
echo strip_tags($content);