将 HTML 字符串放入 PHP 中


Put HTML String in PHP

所以我试图定义$picurl 1,以便它使用$pic 1中的值。所以最后我希望它是:

<img src="./pictures/{definition of pic1}.png">

现在我使用这个php代码:

$pic1 = '<script src="pic.js"></script>';
$picurl1 = '<img src="./pictures/' + $pic1 + '.png'">';

对不起,如果我不是很清楚。我真的不知道该怎么解释。希望你能理解。

换句话说,请告诉我我应该将 $picurl 1 更改为什么。

顺便说一下,脚本想出了一个没有".png"的随机图片名称。

提前谢谢。

对于初学者来说,你在PHP中使用了错误的运算符来连接字符串。 我想你的意思是:

$picurl1 = '<img src="./pictures/' . $pic1 . '.png'">';

更重要的是,什么是"pic1的定义"? 您的意思是pic.js中的代码将随机选择一个文件名,并且您希望其结果是 img 标记中使用的 URL?

那么,你遇到的问题是PHP在服务器上运行,而JavaScript在客户端上运行。 所以你的PHP代码不能使用pic.js的结果,因为在PHP代码完成后,在浏览器运行它之前,它不会有结果。

所以你需要在JavaScript代码中得到客户端的结果。

pic.js如何创造这种结果? 也就是说,pic.js中有函数吗? 现在我将假设有,我将假设该函数被称为类似getFileName。 (仅出于此示例的目的。

包含 JavaScript 代码后,在文档中包含 img 标记后,可以调用该函数并将 img 标记的src设置为其结果。 为了帮助我们识别img标签,让我们给它一个id

<img src="default.gif" id="theImage" alt="This is a dynamic image" />

(我为src给了它一个默认值,因为空值是无效的。 我也有它的完整性alt值。 若要将其src值更改为函数的结果,请执行如下操作:

document.getElementById('theImage').src = getFileName();

请记住,这都是客户端代码。 在PHP代码中使用"结果"的唯一方法是计算是在PHP中完成的,而不是在JavaScript中完成的。

您必须考虑到所有服务器端代码都在客户端代码(javascript,html,css,...(之前执行。 所以你的代码没有任何意义,你不能将一个未定义的代码嵌入到另一个更早执行的代码中。

如果你的JS代码必须返回一些东西,所以删除PHP代码,简单地使用HTML代替

我成功地测试了这个:

 $picName = "greenButterfly7"; //note no spaces inbetween green and butterfly
 $picurl1 = "<img src='./pictures/" . $picName . ".png'>";
 echo $picurl1;

或纯 HTML 形式:

  <img src='pictures/greenButterfly7.png'>

或以嵌入式形式(HTML 中的 PHP(:

  <img src='pictures/<?php echo $picName; ?>.png'>