作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是新来的。我正在尝试制作一个博客/期刊网站,允许用户发布他们自己的期刊。我还是不太愿意做,因为我真的很害怕恶意代码注入(inject)。
所以这是一个示例代码:
<?php
$test = "<b>blah</b>"; //User input from SQL
echo "$test";
?>
会出来的只是粗体的“blah”这个词吗?我试图实现的是回显“<b>blah</b>
”。我不希望人们放置一些实际上会弄乱我的整个网页的 PHP 代码。请记住变量 $test
实际上是一个 MYSQL 查询,因此将需要该变量作为示例。我知道你能做到echo '$test';
但结果是 "$test"
反而。我想把我的头发拔出来,我还想不通。
我知道的第二个解决方案是 htmlspecialchars();
函数,但我希望字符串显示为我键入的内容,而不是转换后的字符串...
有什么办法可以做到吗?
最佳答案
我认为 OP 希望将 HTML 本身输出到页面,而不是剥离标签。为此,您可以先通过 htmlentities()
$test = '<b>blah</b>';
echo htmlentities($test);
这将输出:
<b>blah</b>
它将在页面中呈现为
<b>blah</b>
关于PHP 在回显中回显 PHP 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14071750/
我是一名优秀的程序员,十分优秀!