PHP正则表达式搜索包含,然后写入包含它的地方

时间:2011-06-04 17:38:37

标签: php regex templates include

我有this script(评论很好!),它使用正则表达式搜索文件夹中的文件,删除注释和HTML,但保留标记完整。我希望这个脚本也能这样做,但是它不需要保留标签的完整性,而是需要打印它找到的包含文件。

例如:

<!--TPFILE--><?include '/module/menu.html';?><!--TPFILEEND-->

因此,目标是将menu.html中的HTML打印到正则表达式找到包含的位置。 我是PHP的新手,但了解基础知识,但是我坚持这个。

编辑:我找到了一个解决方案,它在下面发布了答案。

2 个答案:

答案 0 :(得分:1)

是否需要此语法:<?include '/module/menu.html';?>?你能用<?php include '/blah/foo.php';?>替换它吗?如果是这样,您可以直接包含该文件,或使用token_get_all()将HTML拆分为PHP块和普通字符串(HTML)输出。

答案 1 :(得分:0)

解决方案是使用

  

preg_replace_callback

创建一个新函数并使用file_get_contents:

function repl_str($matches)
{
  // $matches[1] the match for the first subpattern
  return file_get_contents($matches[1]);
}

这是以下链接: completed script snippet