我使用php通过post方法获取textarea值,但是得到了一个奇怪的结果,让我展示一下我的代码。
<form method="post" action="index.php">
    <textarea id="contact_list" name="contact_list"></textarea>
    <input type="submit" name="submit" value="Send" id="submit"/>
</form>我在文本区域中输入了一些姓名和他们的电子邮件地址,每次我回显文本区域的值或文本区域时,它都会跳过电子邮件地址,只显示姓名,这样就可以显示我在文本区域中输入值的方式
"name1" <name@email.com>, "name2" <name2@email.com> 一旦我将使用php回显,它将只回显名称,并跳过电子邮件地址。
发布于 2011-09-28 19:35:10
Always (always,always,I'm not kidding)使用htmlspecialchars()
echo htmlspecialchars($_POST['contact_list']);发布于 2011-09-28 19:34:14
确保对HTML字符进行转义
例如。
// Always check an input variable is set before you use it
if (isset($_POST['contact_list'])) {
    // Escape any html characters
    echo htmlentities($_POST['contact_list']);
}这是因为尖括号和浏览器认为它们是标签而导致的。
请参阅:http://php.net/manual/en/function.htmlentities.php
发布于 2015-08-11 15:58:39
使用htmlspecialchars()
echo htmlspecialchars($_POST['contact_list']);您甚至可以通过使用strip_tags()剥离所有标记并使用trim()删除所有空格来改进表单处理
function processText($text) {
    $text = strip_tags($text);
    $text = trim($text);
    $text = htmlspecialchars($text);
    return $text;
}
echo processText($_POST['contact_list']);https://stackoverflow.com/questions/7582577
复制相似问题