php - 如何从另一台服务器获取 html 页面,并在该文件的特定位置插入 php 代码

标签 php html mysql aem

我们正在彻底重做我们的网站,并将我们的大部分页面放入一个新的 CMS(服务器上的 Adob​​e 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/

相关文章:

javascript - Php, Jquery 文件为什么 $_files[] 是空的?

javascript - 阻止 Google 为 AngularJS 路由建立索引

html - Optgroup 在 Chrome 中有点向右移动,但在 Firefox 中显示正常

php - MySQL 查询语法 多个where 和or。完整性检查?

php - 仅在 Woocommerce 结帐页面中将文本附加到总价

php - 无法获取空 mysql 值

mysql - 如何在没有多个联接的情况下从规范化数据库结构中检索值?

mysql DATETIME BETWEEN 查询未按预期工作

php - 如何检测 Paypal cookies?

html - 响应式移动网站 : huge margins, 模拟字体