我目前正在尝试在严格的XHTML文档中在textarea中发布一些代码片段。我不能为我的生活得到这些片段通过验证。我有一个完美的xhtml严格文档,包括以下内容。
<textarea rows="10" cols="80">
<form method="post" action="<?=$_SERVER['PHP_SELF']?>">
</textarea>
我尝试过(我假设的)<![CDATA[
标签的每种可能组合都无济于事。
包括以下内容:
<textarea rows="10" cols="80">
<![CDATA[
<form method="post" action="<?=$_SERVER['PHP_SELF']?>">
]]>
</textarea>
这会奏效;但是,cdata标签显示在文本区域中!
有什么想法吗?
答案 0 :(得分:1)
如果您希望form-Tag是textarea的内容,只需编码&lt; as&amp; lt; “as&amp; quot;&amp; as&amp; amp; and&gt; as&amp; gt;:
<?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>