Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中将标记转换为字符串_Php_Tags_Strip Tags - Fatal编程技术网

在PHP中将标记转换为字符串

在PHP中将标记转换为字符串,php,tags,strip-tags,Php,Tags,Strip Tags,有一个名为strip_tags()的函数,它从输入中剥离所有标记,我想知道是否有一个函数,它不是从输入中剥离所有标记,而是将它们转换为字符串,就像我们缩进代码时stackoverflow是如何做的。如果没有,我应该用什么来代替呢 输出: 斜体 需要输出: 斜体 您可以按照注释中的说明使用htmlspecialchars(),也可以手动操作 $str = "<i>something</i>"; echo str_replace("<", "&lt;", $s

有一个名为strip_tags()的函数,它从输入中剥离所有标记,我想知道是否有一个函数,它不是从输入中剥离所有标记,而是将它们转换为字符串,就像我们缩进代码时stackoverflow是如何做的。如果没有,我应该用什么来代替呢

输出:

斜体

需要输出:

斜体

您可以按照注释中的说明使用htmlspecialchars(),也可以手动操作

$str = "<i>something</i>";

echo str_replace("<", "&lt;", $str);
$str=“某物”;
echo str_replace(“您想要的函数是

代码:

在浏览器中,将渲染为:

斜体


您可以使用html
标记。

它不是转换为字符串,而是转义,这样它们就不会被处理。使用
htmlspecialchars()
或类似的函数来实现这一点。因此,这与strip_tags()的功能相同从某种意义上说,它不允许用户在我们的网站上执行脚本,对吗?这会将元素转换为它们的实体等价物。Strip_标记实际上会删除元素本身。用户仍然可以使用这种方法进行XSS注入,尽管这取决于您的输出方式。可以使用引号关闭属性,然后单击
onclick,等等。如果我们将其与mysqli\u real\u escape\u字符串结合使用会怎么样?这对XSS注入没有影响;也就是SQL注入。那么,在这种情况下,我们应该怎么做呢?
$str = "<i>something</i>";

echo str_replace("<", "&lt;", $str);
$string = '<i> italic </i>';
echo htmlspecialchars($string);
&lt;i&gt; italic &lt;/i&gt;