首页 > 解决方案 > JQuery .html() 插入方法不会将 PHP file_get_contents() 作为参数

问题描述

这是代码:

echo "<script>jQuery(document).ready(function($)
{ $('.page-id-24 .entry-content').html('" . file_get_contents('about.php') . "'); });</script>";

注意: 在我的 about.php 文件中,它有:<?php echo "html content..."; ?>

结果:我什么也没得到。

怎么了?我不明白什么?

标签: phpjquery

解决方案


您的代码读取整个内容about.php并将其转储到字符串的中间,但它不会尝试执行任何 PHP。<?php 结果是浏览器尝试将其解释为 HTML的一串数据。它不理解 PHP,因此结果是不可预测的,并且将取决于about.php.

例如,您about.php包含以下内容:

<?php echo "<div>Some text</div>"; ?>

剥离所有 PHP 以仅留下 HTML 并将名称更改为about.html

<div>Some text</div>

你可以在这里停下来更新你的 PHP 代码来读取about.html文件:

echo "<script>jQuery(document).ready(function($)
{ $('.page-id-24 .entry-content').html('" . file_get_contents('about.html') . "'); });</script>";

about.html如果您不包含任何单引号字符,这将起作用。

有一种更简单的方法可以做到这一点。

编辑about.php生成about.html如上,然后更改您的脚本以获取 jQuery 以直接从服务器加载文件:

echo "<script>jQuery(document).ready(function($){ $('.page-id-24 .entry-content').load('about.html'); });</script>";

推荐阅读