</textarea> 标签未显示

</textarea> tag not not showing up

我正在尝试让自己成为一个文件管理器,并且我设法在 PHP 中创建了一个 "edit file" 函数。在主页中我确实有一个文本区域,但是当我想编辑主页时 "source",文本恰好停在文本区域标记关闭的位置 (</textarea>)

下面是问题的表示:

<textarea><textarea>Hello World.</textarea></textarea>

textarea 输出将是

<textarea><textarea>Hello World.

这是因为我在代码中关闭了 textarea 标签,但浏览器的行为就像它已从代码外部关闭一样。

我怎样才能避免这种情况?

您需要像这样对内部标签进行编码:

<textarea>&lt;textarea&gt;Hello World.&lt;/textarea&gt;</textarea>

在 PHP 中,这只是 运行 文件源到 htmlspecialchars() 的问题。单次传递不会改变显示在编辑器文本区域中的输出。

如果您不希望构成标签的字符成为标签,则应将其转义。

<textarea><textarea>Hello world.&#60/textarea>

或者像 Bolt Clock 那样,转义所有特殊字符。

<textarea>&lt;textarea&gt;Hello World.&lt;/textarea&gt;</textarea>