我必须将字符串传递给表单。
我想按以下方式混合使用 $_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")
(or $_REQUEST("string"
),它会发生以下情况:php 解析器将 \n 作为字符串获取。所以他按照我的编码将其放入字符串中:\\\n
这不是我想要的结果。我想要的只是一个内在\n
在 php 字符串中。
请您解释一下为什么会发生这种行为,而不抱怨这不是传递字符串的最佳方式(我想它不是,但今天我遇到了问题,我想通过这种方式传递字符串来管理它)?
PS:我必须使用\n
而不是 html<br />
因为我必须让php写入文件。
Advice:您可能应该考虑将其放入隐藏字段
Answer:但是如果您要将其作为 GET 参数付诸实践,那么您需要对字符串进行 urlencode:
<form action="this_page.php?string=<?php echo urlencode($string); ?>" method="post" name="name">
这样 - 任何非字母数字字符都将是 url 安全的(想想如果 $string 包含 ? 或 # 或 = 会发生什么)。
当将 GET 参数加载到 $_GET 数组中时,PHP 会自动解码它们 - 因此此时应该保留换行符。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)