Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在文件获取内容期间解析HTML中的变量_Php_Html_Parsing_Php Parser - Fatal编程技术网

Php 如何在文件获取内容期间解析HTML中的变量

Php 如何在文件获取内容期间解析HTML中的变量,php,html,parsing,php-parser,Php,Html,Parsing,Php Parser,我正在构建一个CMS,作为其中的一部分,任何静态HTML都被分解成可重用的块,然后保存在一个中心位置。当我们需要每个块时,我们可以使用file\u get\u contents将其添加到包含页面HTML代码的字符串中 作为CMS,HTML的某些部分需要从数据库加载数据。现在我可以简单地放置持有者,例如%cmsarea0%,%cmsarea1%,%cmsarea2%等等,然后使用str_replace将数据库中的HTML放入。然而,对我来说,这似乎不是最好的方法 理想情况下,我会在我的页面类中有几

我正在构建一个CMS,作为其中的一部分,任何静态HTML都被分解成可重用的块,然后保存在一个中心位置。当我们需要每个块时,我们可以使用file\u get\u contents将其添加到包含页面HTML代码的字符串中

作为CMS,HTML的某些部分需要从数据库加载数据。现在我可以简单地放置持有者,例如%cmsarea0%,%cmsarea1%,%cmsarea2%等等,然后使用str_replace将数据库中的HTML放入。然而,对我来说,这似乎不是最好的方法

理想情况下,我会在我的页面类中有几个预定义的变量,然后在HTML文件中,让PHP在加载文件内容时回显该变量,但是似乎没有多少测试工作。正在加载的.html文件中的PHP代码刚刚被注释掉


我知道这类事情是可能的,因为PHPBB使用了类似的东西,它们将变量包装在大括号中,然后以某种方式进行解析。但是我如何做到这一点呢?

我不明白你为什么不想使用
str_replace()
,这对我来说似乎是一个完美的补救办法

试试下面的方法

HTML-myURL.php

<html>
    <body>
        <div id="myDiv1">%cmsarea1%</div>
        <div id="myDiv2">%cmsarea2%</div>
        <div id="myDiv3">%cmsarea3%</div>
    </body>
</html>
你完全搞错了。 HTML文件不应使用PHP中的file_get_内容添加,而应使用include。这样,HTML页面中的任何PHP代码都将被执行(前提是它被包装在标记中)。记住,为了执行其中包含的php脚本,包含的HTML“部分”应该具有.php扩展名。 这是PHP-HTML模板的基础

在网上搜索“php模板网站”并学习。
这是我得到的第一个结果,非常有用:

我以前在代码中见过它以其他方式解析,比如PHPBB,而且它似乎是一种更干净的方式。一个页面上可能有10多个区域需要替换,而使用str_replace似乎是一种冗长的方法。我不确定,这就是我问的原因。我不认为这是长篇大论。你应该可以使用它。这肯定比正则表达式快。好的,谢谢你的回答。php块中的“php”似乎是javascript的一部分。。。str_replace(搜索、替换、主题)是您想要的。在php中,您不需要使用“.”表示函数。完美的解决方案!我不能使用include,因为HTML文件已加载到变量中。虽然我很欣赏这个链接,但我正在构建的内容要复杂得多。对不起,我不知道你的经验水平。但是,如果您说PHPBB使用与您需要的类似的功能,那么为什么不下载它并浏览一下代码呢?它是开源的,我甚至对它做了一些修改(没有公共mod,但足以满足我的需要),但不幸的是,它是如何解析HTML中的变量的,我没有理解。这是一个复杂的程序。也许值得在他们的开发论坛上发布。。。谢谢你的主意。
$theContent = file_get_contents("myURL.php");

$var1 = $theContent.str_replace("%cmsarea1%", "My first variable");
$var2 = $theContent.str_replace("%cmsarea2%", "My second variable");
$var3 = $theContent.str_replace("%cmsarea3%", "My third variable");