php字符串回显行为怪异
以下内容未打印任何内容,我尚未在网上找到任何解释:php字符串回显行为怪异,php,string,printing,echo,Php,String,Printing,Echo,以下内容未打印任何内容,我尚未在网上找到任何解释: <?php function aa() { return "<w"; } $r = aa(); echo $r; ?> 不管我用什么样的引语。如果我打印的字符串不是以
<?php
function aa() {
return "<w";
}
$r = aa();
echo $r;
?>
不管我用什么样的引语。如果我打印的字符串不是以<开头,后跟一个字符,那么它将正确打印。可能是php.ini上的内容,但有什么想法吗?您可以尝试以下方法:
<?php
function aa() {
return htmlspecialchars("<w");
}
$r = aa();
echo $r;
?>
在php.ini中短切\u open\u tag=On(打印html标记)/Off(不打印)
我希望它对你有用。
或者你也可以这样做
echo "&rt"; //for right arrow and < for left arrow
这是因为PHP文件生成的网页如下所示:
<w
你试过了吗“\只是查看生成的网页或源?第一印象是它是一个开放式HTML标记的开始,转义它只是输出转义字符。这就是全部,简化到这个简单的php,并在chrome中查看结果。因此,基本上是在localhost/print.php上查看文件,该文件只包含上面显示的代码,例如,在firefox thoughSo上发生的事情。如果我把回声改成“这同样有效,&rt/<,short_open_标签已设置为On,谢谢!不是真的!问题是从ajax加载调用开始的。为了加载某些元素,原始方法为选择框创建选项标记。避免调用这样的方法会显示整个页面,其中包含一个空的选择框,当检索结果时,输出将变为绝对空白。将方法的输出转换为类似“在什么情况下出现问题并不重要,原因仍然是一样的:如果不转义字符,就无法打印<个字符。句号。您接受的答案与我所说的完全相同:它通过使用函数htmlspecialchars()转义<)是的,我的答案是正确的。
<