我的字符串包含 '<
' 符号。
例子:
$str = "S t a c k < o v e r f l o w";
当我使用str_replace()函数时
$str = str_replace(' ', '', $str);
echo $str;
输出结果为:
Stack
所有在<
之后的字母都不会被打印出来。
我哪里错了?请帮帮我!
$str = "S t a c k < o v e r f l o w";
$str = htmlspecialchars(str_replace(' ', '', $str));
echo $str;
Stack<overflow
htmlspecialchars(str_replace(' ', '', $str));
$str = "S t a c k < o v e r f l o w";
将 < 替换为 #
$str = str_replace('<', '#', $str);
将空格替换为无空格
$str = str_replace(' ', '', $str);
将#替换为空格
$str = str_replace('#', ' ', $str);
echo $str;
输出
Stack Overflow
如果字符串中有HTML标签,您也可以这样做
// Variable to check
$str = "<h1>Hello World!</h1>";
// Remove HTML tags from string
$newstr = filter_var($str, FILTER_SANITIZE_STRING);
echo $newstr;
参考资料:W3Schools
<
,浏览器将其视为标签开始。因此,请使用htmlspecialchars()
。 - Mohammad