使用用户提交的确切内容重新填充文本区域(使用 ASCII 代码,并且在某些字符之前没有附加正斜杠)


Repopulating textarea with EXACTLY what the user submitted (with ASCII codes and without additonal forward slashes before some characters)

我有一个文本区域,我需要能够获取包括/和 ' 在内的字符以及 ASCII 中的特殊字符。它这样做很好,并通过 POST 方法将数据发送到 php 页面。

然后我只需通过

<?php echo isset($F_Text) ? $F_Text : '' ?>

在 textarea 标记 ($F_Name = $_POST["F_Name"]) 之间,目的是让用户随后可以更改他们键入的内容并重新提交。

但是每次重新填充表单时都会出现两个问题。在 ' 等字符之前添加正斜杠,ASCII 字符作为符号而不是代码打印出来。这基本上破坏了页面的其余部分(提交继续由一些javascript处理)。

我想不出任何方法可以将 ASCII 代码保留为代码,而不是符号。

另外,我刚刚注意到所有 $ 符号也丢失了,我可以理解,但我需要它们留下来!

我需要表单来准确显示用户最初键入的内容。有什么想法吗?

你能试试:

<?php echo isset($F_Text) ? htmlentities(stripslashes($F_Text)) : '' ?>

希望这对你:)有所帮助

我的猜测是,您首先必须使用魔术引号,然后使用htmlspecialchars来避免变量弄乱您的html,然后确保所有内容都在utf8中,以便保留所有特殊字符(取决于您认为的ASCII字符...

你的 php echo 语句将是:

<?php echo isset($F_Text) ? htmlspecialchars($F_Text) : '' ?>