HTML中src = PHP变量

3
你好,我稍微查了一下解决方法,但没有找到与我相同的问题。基本上,我有一个PHP变量,它是一个URL。我想用这个URL添加一个新的iframe。
以下是我的代码,但由于HTML在src后使用双引号,所以PHP变量被忽略了。
<iframe width="420" height="345"src= "<?php $output ?>"> </iframe>

谢谢大家


以下是有关编程的内容,请将其从英语翻译成中文。仅返回翻译后的文本:答案如下(你忘了 echo),但是要说 HTML 也可以使用单引号。 - Mr Lister
2个回答

5
<iframe width="420" height="345" src="<?php echo htmlspecialchars($output); ?>"> </iframe>

您缺少 echo 操作。此外,始终使用 htmlspecialchars() 来确保您创建的HTML符合规范且不容易遭受注入攻击。如果您发现自己需要频繁地执行此操作,请考虑使用模板引擎。


非常感谢!效果非常好。我过去做的大部分工作都是离线游戏之类的,对在线工作并不熟悉。我对htmlspecialchars不太了解,它到底是做什么用的? - user3369289
@Brad 自 PHP 5.4 开始,<?php echo 可以安全地替换为 <?=。之前的版本需要 short_open_tagasp_tags 必须为 on; 前者会导致 XML 出现问题,但是使用后者可以使用 <%= 替代。 - PointedEars
@user3369289 该程序将会将特殊字符如 <> 转换成 &lt;&gt; ,以确保它们不被解释为 HTML 代码。你不希望文本内容因为这些字符而泄露到 HTML 程序中去。在更糟糕的情况下,如果你正在输出用户提供的文本,那么它可能会包含 <script> 标签。 - Brad
有趣,我会研究一下!再次感谢。 - user3369289

0
<iframe width="420" height="345" src="<?php echo htmlspecialchars($output); ?>"> </iframe>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接