想要将标题标签的内容重复到html文档本身

时间:2013-01-10 14:39:23

标签: php html extract

我的网站有数百万个页面,所有这些页面都是静态的html(实际上是.shtml,但是我已经在服务器中将它们设置为解析为.shtml,同时仍然显示为.html)。我可以在我的html文件中使用Includes和php脚本。 我在当前页面中使用如下所示的include语句:

<!--#include virtual="somefilename.html"-->
<!--#include virtual="somefilename.php"-->

我正在尝试在所有.html网页上添加Facebook社交代码:

<meta property="og:title" content="My Page Title" />

我需要在同一页面上的<title></title>标记之间存在与此标记相同的值。

因此,我需要在<title>My Page Title</title>代码之间提取数据,并在每个页面的<meta property="og:title" content="My Page Title" />内打印。

有人有解决方案吗?

1 个答案:

答案 0 :(得分:1)

您应该使用DOMDocument之类的HTML解析器来查找<title> $doc = new DOMDocument; $doc->loadHTML( '<title>My Page Title</title>'); // However you read in your HTML file, could even do: // $doc->loadHTMLFile( '/my/server/root/index.html'); foreach( $doc->getElementsByTagName( 'title') as $title) { echo '<meta property="og:title" content="' . $title->textContents . '" />'; } 标签,然后输出您需要的内容,如下所示:

foreach( glob( '*.html') as $filename) {
    // The above code, which you can now use $doc->loadHTMLFile( $filename);
}

您可以将其用作加载所有HTML网页的脚本。因此,您可以将其放在服务器上的PHP文件中,并运行一次。您需要为其添加一个包装器,以便它知道所有HTML文件的位置。你可以使用这样的东西:

{{1}}