file_get_content的替代方案

时间:2015-12-14 07:08:32

标签: php wordpress file-get-contents

我目前有一个wordpress网站,其中模板已修复,但我希望将所有内容存储到1个文件中,我可以使用它来更新内容。 这背后的原因是我将有许多不同的网站具有相同的模板但内容不同。这样,如果我需要更改,我需要做的就是编辑这个1 content.html文件。

我试图创建一个单独的HTML页面,网站的不同变量会有不同的div,但HTML文件的整个文本显示在wordpress网站上,而不是特定的ID DIV" homepagetitle& #34 ;.

如何使用file_get_contents或类似的东西来检索特定的信息部分到我的php wordpress网站?

HTML文件:

<html>
<div id="homepagetitle">AGENT SUCCESS 2 </div>
<div id="other">othercontent</div>    
</html>

我的WORDPRESS网站PHP文件:

$homepagetitle = file_get_contents('http://neil1.zxstudios.ca/wp-content/themes/fullredpin5/content.html #homepagetitle');

        echo '<h1 class="intro-text">'.$homepagetitle.'</h1>';

1 个答案:

答案 0 :(得分:0)

这不是file_get_contents的工作原理。 file_get_contents获取指定目标源的所有文件内容。从它的外观来看,我认为你来自jQuery,其中.get()方法允许使用# - identitifer获取页面片段。

如果要模拟获取页面片段(例如#homepagetitle),请查看PHP中可用的DOM文档解析方法(http://php.net/manual/en/class.domdocument.php)。在伪代码中:

$file = file_get_contents('/path/to/file.html');

$domParser = new DOMDocument($file);
$element = $domParser->getElement('element-id-here');
$text = $element->text;

echo '<h1>' . $text . '</h1>';

如果您不想进行此解析,则需要将文件拆分为多个文件,并逐个获取不同部分的内容。如果您将该HTML文件拆分为两部分,则它们甚至不需要是HTML:

file1.txt:

AGENT SUCCESS 2

file2.txt:

othercontent

然后在WP模板中:

echo '<h1>' . file_get_contents('http://example.com/file1.txt') . '</h1>';

echo '<div class="content">' . file_get_contents('http://example.com/file2.txt') . '</div>';

此外,如果有人攻击您的文件系统并替换这些文件,您将会深陷其中,这会导致在所有网站上显示不需要的内容,这些网站会提取并显示这些文件上。

您正在使用WordPress。您是否考虑过创建一个集中的WordPress安装并使用其RSS源(或WP 4.4中的REST API)在其他地方显示内容?