我如何发布 html?

发布于 2024-12-09 16:44:52 字数 260 浏览 0 评论 0 原文

我需要向 PHP 发送一份表单,但其中一个字段包含 HTML。

当它处于表单中时,它很好,并且会显示:

<input id="addNote" value="<div class="line">This is my line</div>"/>

但是,当我将其发布到服务器时,HTML 标记已被删除,因此它显示为“这是我的行”。我需要做什么才能确保标签不会被剥离?

谢谢!

I need to send a form to PHP, but one of the fields contains HTML.

When it's in the form it's fine, and will show:

<input id="addNote" value="<div class="line">This is my line</div>"/>

However, when I POST it to the server, the HTML tags have been stripped out, so it comes through as 'This is my line'. What do I need to do to make sure the tags don't get stripped out?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

凡间太子 2024-12-16 16:44:52

在嵌入 html-in-html 时,您应该对 HTML 元字符进行编码,这样它们就不会被误解:

<input id="addNote" value="<div class="line">This is my line</div>" />

对于 " 字符尤其如此,因为它们会破坏解析器的格式。例如,

<input ... value="<div class="line" ....  />
                             ^---

指定的引用将被翻译为 ENDING value= 部分,而 line" 是其他非标准/未知标签的开始属性。

When embedding html-in-html, you should encode the HTML metacharacters so they can't be mis-interpreted:

<input id="addNote" value="<div class="line">This is my line</div>" />

This is especially true with " characters, as they'll break the form for the parser. e.g.

<input ... value="<div class="line" ....  />
                             ^---

The indicated quote will be translated as ENDING the value= portion, and line" being the start of some other non-standard/unknown tag attribute.

一杆小烟枪 2024-12-16 16:44:52

这是我的行"/> 根本不起作用!

由于您使用 " 来限制输入字段的值,因此您有两种选择:

  1. " 字符更改为 ' :
    这是我的行'/>

  2. 将值内的引号 (") 替换为 "
    这是我的行"/>

但是,如果您的 PHP 脚本删除了 HTML 标签,那么这一切都无关紧要...

<input id="addNote" value="<div class="line">This is my line</div>"/> does not work at all!

Since you're using " to limit the value of the input field, you have two choices:

  1. Change the " character to ':
    This is my line'/>

  2. Substitute the quotes (") inside the value for ":
    This is my line"/>

However, none of this matters if your PHP script deletes HTML tags...

開玄 2024-12-16 16:44:52

在你的 .php 文件中使用这个 -

echo htmlentities($_POST['addNote']);

在你的 html 文件中使用单引号。

<input id="addNote" name="addNote" value="<div class='line'>This is my line</div>"/>

in your .php file use this -

echo htmlentities($_POST['addNote']);

and in your html file use single quote.

<input id="addNote" name="addNote" value="<div class='line'>This is my line</div>"/>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文