2011-10-15 5 views
0

현재 엄격한 XHTML 문서 내에서 일부 코드 조각을 텍스트 영역 내에 게시하려고합니다. 나는 내 인생에 대해 이러한 단편이 유효성 검사를 통과 할 수는 없다. 나는 다음과 함께 완벽한 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

양식 태그를 텍스트 영역에 포함 시키려면 <을 & lt로 인코딩하면됩니다. "& 바와 같이, &된다 ;:

<?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 당신을 위해 부호화 할 수 있으므로 이상>; & &로서 A :

<?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>