2011-10-15 33 views
0

我目前正試圖在嚴格的XHTML文檔中發佈一些textarea內的代碼片段。我不能爲我的生活得到這些片段通過驗證。我有一個完美的xhtml嚴格的文件與以下。使用嚴格的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標籤顯示在文本區!

任何想法?

回答

1

如果你想form-Tag是textarea的內容,只需編碼<爲& lt; 「爲& QUOT; &爲&安培;以及>爲&計算值:

<?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"> 
    &lt;form method=&quot;post&quot; action=&quot;<?=$_SERVER['PHP_SELF']?>&quot;&gt; 
</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>