php - 使用 $_GET 字符串传递换行符

标签 php html

我必须将字符串传递给表单。 我想通过以下方式混合使用 $_GET 和 $_POST:

 <?php $string="bla bla bla".$some_other_string."bla bla".$some_other_string2."\n"; ?>

 <form action="this_page.php?string=<?php echo $string?>" method="post" name="name">

 </form>

请注意 \n在字符串中。 当我得到 $_GET("string") (或 $_REQUEST("string" ),它会发生以下情况:php 解析器将\n 作为字符串获取。所以他按照我的编码将它放入字符串中:\\\n这不是我想要的结果。我只想要一个内部 \n在 php 字符串中。

请你解释一下为什么会发生这种行为,不要提示这不是传递字符串的最佳方式(我想不是,但今天我遇到了一个问题,我想通过传递字符串来管理它方式)?

Ps: 我必须使用 \n而不是 html <br />因为我必须让 php 写入文件。

最佳答案

建议:您可能应该考虑将其放入隐藏字段

回答:但是如果你打算把它作为GET参数付诸行动,那么你需要对字符串进行urlencode:

<form action="this_page.php?string=<?php echo urlencode($string); ?>" method="post" name="name">

这样 - 任何非字母数字字符都将是 url 安全的(想想如果 $string 包含一个 ? 或一个 # 或一个 = 会发生什么)。

PHP 在将 GET 参数加载到 $_GET 数组时会自动对其进行解码 - 因此此时应保留换行符。

关于php - 使用 $_GET 字符串传递换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8934378/

相关文章:

php - 电子邮件主题中出现英镑符号前面的额外字符 â £

jquery - 我可以以编程方式关闭可折叠导航栏显示的下拉菜单吗?

java - 在 iText 7 的 html2pdf 中显示货币符号的简单方法

javascript - 浏览器希望用户在按第二页上的后退按钮时重新提交/刷新第一页

html - CSS模仿div中的简单表格

html - 在html中使一行可点击

php - 如何使用ajax和php在没有表单的情况下使用复选框将数据插入数据库

php - 从 file_get_contents 请求获取 IP

php - net::ERR_HTTP2_PROTOCOL_ERROR 是关于什么的?

php - $_POST表单未提交数据