我们正在彻底重做我们的网站,并将我们的大部分页面放入一个新的 CMS(服务器上的 Adobe cq5-
1).但是,我们有一些无法进入的 php/mysql 页面,因此我们将它们存放在我们自己的服务器 (server2) 上。我需要我们在服务器 2 上的页面看起来与服务器 1 上的页面完全一样。
服务器 1 上有一个模板,其 url 为: http://staging-cms.com/content/directory/template.html
所以,我需要
1.使用上述 URL 从 Server1 中拉取模板。
2.查看此 div 的模板:
<div class="text"><p>CONTENT FOR TEMPLATE GOES HERE.<br></p></div>
3.把服务器2上的页面内容取出来,插入到上面那个点。 4. 将带有模板和内容的完整页面返回到 server2 上的页面。
所以,最终的 url 应该是这样的:
http://server2.com/books.php
这可能吗?
我已经在下面试过了,但我得到的只是一个页面 databases.php 打印。
$Content = file_get_contents("http://staging-cms.uc.edu/content/libraries /template.html");
$Content = str_ireplace('CONTENT FOR TEMPLATE GOES HERE','databases.php','What goes here??');//staging-cms.uc.edu/content/libraries/template.html);
print ($Content);`
我已经尝试了其他可以返回模板的东西(某种程度上)。但我似乎无法让它们一起工作?
最佳答案
$template = file_get_contents("http://staging-cms.uc.edu/content/libraries/template.html");
list($top, $bottom) = explode('CONTENT FOR TEMPLATE GOES HERE', $template);
echo $top;
include '/path/to/databases.php';
echo $bottom;
数据库中的 PHP 代码必须在显示给用户之前实际执行,因此您不能使用 str_ireplace(),它只处理文字字符串,不处理文件名或 PHP 代码。
相反,您需要将模板分成两部分(顶部和底部),然后包含
将要执行的 PHP 代码。
关于php - 如何从另一台服务器获取 html 页面,并在该文件的特定位置插入 php 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22696254/