【问题标题】:How to provide dynamic HTML in PHP?如何在 PHP 中提供动态 HTML?
【发布时间】:2012-05-19 00:04:40
【问题描述】:

我已经创建了一个 HTML 文件,它存储在其他地方的目录中。

问题是,我希望能够从外部获取内容并将其放在 HTML 文件中。

我想我可以为此使用 PHP,因为它是服务器端的并且可以访问我想要的文件。

所以,我创建了一个 PHP 脚本,它打开并回显一个 HTML 文件,然后回显一些 JavaScript 以更改屏幕上的元素。

这是我的 PHP 文件:

<?php

$html = file_get_contents('file.html');

$imageurl = file_get_contents('url.txt');

$js = '<script type=\'text/javascript\'>updateImage(\'img1\', '.$imageurl.');</script>';

echo $html;

echo $js;

?>

..和 HTML 文件:

<html>
<script type="text/javascript">
function updateImage(id, url) {
    var img = document.getElementsByName(id)[0];
    img.src = url;
}
</script>

<body>

<img src="" name="img1" />

</body>

</html>

这不是最好的方法,但确实有效。

我想知道一种在 PHP 中执行此操作的方法,而不是使用 JavaScript。

我不确定最好的方法。

【问题讨论】:

标签: php image html dynamic-content


【解决方案1】:

您可以使用includeob_get_contents 将html 获取为字符串,然后在上面执行一些str_replacepreg_replace

您的 HTML:

<html>
    <body>
        <img src="{IMAGE_SRC}" width="512" height="512" name="image" />
    </body>
</html>

你的 PHP:

ob_start();
include 'your_file.html';
$buffer = ob_get_contents();
ob_end_clean();
$buffer = str_replace('{IMAGE_SRC}', 'your_image.png', $buffer);

print $buffer;

【讨论】:

  • 顺便说一句,这也适用于&lt;?php print $someVariable; ?&gt;&lt;?= $someVariable; ?&gt;,正如克里斯在另一个答案中所述。这就是为什么我更喜欢 ob_get_contents 而不是 file_get_contents 的原因。
【解决方案2】:

这是一个非常基本的问题。您应该阅读一些 PHP 和 HTML 教程。像这样的东西可以解决问题:

<html>

<body>
<img src="" width="512" height="512" name="<?= $somePhpVariableContainingTheName ?>" />
</body>

</html>

【讨论】:

    猜你喜欢
    • 2017-10-04
    • 1970-01-01
    • 2020-10-11
    • 2014-08-26
    • 2019-02-04
    • 2019-09-28
    • 2019-08-14
    • 1970-01-01
    • 2013-01-01
    相关资源
    最近更新 更多