使用严格的 XHTML 验证文本区域中的示例代码片段

发布于 2024-12-10 05:47:36 字数 562 浏览 0 评论 0原文

我目前正在尝试在严格的 XHTML 文档内的文本区域内发布一些代码片段。我一生都无法让这些片段通过验证。我有一个完美的 xhtml strict 文档,内容如下。

<textarea rows="10" cols="80">
    <form method="post" action="<?=$_SERVER['PHP_SELF']?>">
</textarea>

我已经尝试过(我假设的) 标签的所有可能组合都无济于事。

包括以下内容:

<textarea rows="10" cols="80">
    <![CDATA[
        <form method="post" action="<?=$_SERVER['PHP_SELF']?>">
    ]]>
</textarea>

这可行;但是,cdata 标签显示在文本区域中!

有什么想法吗?

I am currently trying to post some code snippets inside of a textarea, within a strict XHTML document. I cannot for the life of me get these snippets to pass validation. I have a perfect xhtml strict document with the following.

<textarea rows="10" cols="80">
    <form method="post" action="<?=$_SERVER['PHP_SELF']?>">
</textarea>

I have tried (what I assume) is every possible combination of the <![CDATA[ tag to no avail.

including the following:

<textarea rows="10" cols="80">
    <![CDATA[
        <form method="post" action="<?=$_SERVER['PHP_SELF']?>">
    ]]>
</textarea>

This would work; however, the cdata tag is shown in the text area!

Any ideas?

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

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

发布评论

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

评论(1

GRAY°灰色天空 2024-12-17 05:47:36

如果您希望表单标签成为文本区域的内容,只需编码 <作为< " as " & as & 和 > as >:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" xml:lang="de">
<head>
    <title>Test</title>
</head>
<body>
<p>
<textarea rows="10" cols="80">
    <form method="post" action="<?=$_SERVER['PHP_SELF']?>">
</textarea>
</p>
</body>
</html>

PHP 可以为您进行编码:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" xml:lang="de">
<head>
    <title>Test</title>
</head>
<body>
<p>
<textarea rows="10" cols="80">
    <?php
    $html = <<<HTML
<form method="post" action="{$_SERVER['PHP_SELF']}">
HTML;
    echo htmlspecialchars($html);
    ?>
</textarea>
</p>
</body>
</html>

If you want the form-Tag to be content of the textarea simply encode < as < " as " & as & and > as >:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" xml:lang="de">
<head>
    <title>Test</title>
</head>
<body>
<p>
<textarea rows="10" cols="80">
    <form method="post" action="<?=$_SERVER['PHP_SELF']?>">
</textarea>
</p>
</body>
</html>

PHP can do the encoding for you:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" xml:lang="de">
<head>
    <title>Test</title>
</head>
<body>
<p>
<textarea rows="10" cols="80">
    <?php
    $html = <<<HTML
<form method="post" action="{$_SERVER['PHP_SELF']}">
HTML;
    echo htmlspecialchars($html);
    ?>
</textarea>
</p>
</body>
</html>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文