课程讲解中的这个部分,代码我有些不理解,可以解答下吗?
来源:1-17 字符串转实体函数
kennedyzhou86
2018-10-27 15:12:47
<?php
header('content-type:text/html;charset=utf-8');
$str="A>B,B<C,Tom&John,He said:\"I'm OK\"";
echo htmlspecialchars($str,ENT_QUOTES);
echo '<hr>';
//通过str_replace进行转换
$str2=str_replace('&','&',$str); //必须是第一阶梯
$str2=str_replace('>','>',$str2);
$str2=str_replace('<','<',$str2);
$str2=str_replace('"','"',$str2);
$str2=str_replace('\'',''',$str2);
echo $str2;
我不理解的是下面这个部分-----------
$str2=str_replace('"','"',$str2);
$str2=str_replace('\'',''',$str2);
-----为什么是双引号 和 反斜杠单引号,我们需要转的应该是 反斜杠双引号和 单引号吧?
2回答
你好,应该打印出结果产看页面源码,详细如下图:
源码中是
A>B,B<C,Tom&John,He said:"I'm OK"<hr>
所以应该把双引号替换掉,
如果解决您的问题请采纳,祝学习愉快!
guly
2018-10-27
你好,
转义字符,顾名思义会将规定的语法用"\"来输出。但语法规定在不同的系统中转义字符的作用不同,例如:windows下的回车换行符用"\r"或"\n",而Linux 这两就有很大的区别:"\r"光标回到行首,但还在本行; "\n"表示下一行,不会回到行首。
PHP中的转义字符详情如下:
" \' "==>单引号
" \" " ==>双引号
如果解决您的问题请采纳,祝学习愉快!
相似问题