2009-12-26 2 views
12

일부 HTML (양식 요소 및 표 요소)을 생성하는 클래스가 있지만이 클래스는 모든 HTML을 한 줄로 반환합니다.깔끔한 HTML 태그 추가 방지

코드를 들여 쓰거나 줄 바꿈을 넣을 때 코드를 아름답게 사용하려고 할 때 유일한 문제는 내가 원하지 않는 태그를 생성하는 것입니다.

tidy_parse_string(
        $table->getHtml(), 
        array(
          'DocType' => 'omit', 
          'indent' => true, 
          'indent-spaces' => 4,          
          'wrap' => 0          
         ) 
       ); 

내가 여분의 HTML 태그를 제거하기 위해 찾은 유일한 방법은,이 같은 뭔가 않는 str_replace를 추가하는 것입니다 : 여기

는 코드 작동

str_replace(array('<html>','</html>','<body>','</body>','<head>','</head>','<title>','</title>'),'', code); 

을하지만 정말 코드가 아름답고 여분의 코드를 삽입하지 않도록 정리하는 방법이있을 것입니다.

답변

28

show-body-only 옵션을 사용해보십시오.

$s = '<form method="post" action="?"><table><tr><td><input tpye="submit"></table>'; 
echo tidy_parse_string($s, array('show-body-only'=>true, 'indent'=>true)); 

인쇄

<form method="post" action="?"> 
    <table> 
    <tr> 
     <td> 
     <input tpye="submit"> 
     </td> 
    </tr> 
    </table> 
</form> 

(문자열 수리 및 들여 쓰기하지만 HTML/신체 래퍼가 추가되지 않았습니다). output-xhtml 옵션과 결합 할 수 있습니다.이 경우 빈 입력 요소에 슬래시도 추가됩니다.

+0

그 옵션을 놓친 것으로 믿을 수 없습니다. 감사!! – AntonioCS

+0

친애하는 주님. 이것은 내가 필요로했던 것입니다. 그러나 나는 옵션의 이름이나 그 설명으로부터 결코 짐작하지 않았을 것입니다! –

+1

HTML을로드하고 XML로 표시하려면 어떻게해야합니까? output-xml = true 따라서 show-body-only는 작동하지 않습니다. 이 경우 어떻게해야합니까? –