每当我尝试回显一个字符串时,就没有新行。我如何使用$_GET
?
这是我的代码:
<?php
$text = "Hello world";
$text2 = $_GET['msg'];
echo $text2
?>
这就是我在网址中输入的内容:
http://localhost/hello.php?msg=hello%0Dworld
或者这个:
http://localhost/hello.php?msg=hello%0Aworld
甚至这一个:
http://localhost/hello.php?msg=hello%0D%0Aworld
回声必须是换行符,请不要说我应该使用与$_GET
不同的方法。它必须是$_GET
答案 0 :(得分:1)
请注意,回送任何请求变量而不验证它们是一个相当大的安全风险!如果您想使用此代码发布任何应用程序,则需要重新设计。
由于常识状态,从urlencoded到相应字符的转换是由php自动完成的,但HTML不会呈现此类字符,因此您需要将它们转换为换行符或封装消息在<pre>
代码中。
答案 1 :(得分:1)
在执行练习时,您正在创建HTML页面。
HTML是一种特殊的标记语言,根据一组规则呈现,其中一些是:
<>
个字符具有名为 tags <br>
,<p>
或其他任何内容。因此,要在页面上显示换行符,您必须将换行符转换为标记。使用nl2br()
函数获取<br />
代码或str_replace()
如果您需要任何其他代码