php simple dom html 어 지 러 운 코드 분석
의심 할 여지없이,올 라 오 자마자 난 장 판 문제 에 부 딪 혔 다.물론 나 는 문서 에 기 술 된 대로 모든 문 자 는 UTF-8 인 코딩 을 사용한다.
$html = '<p> </p>'; $dom = new DOMDocument(); @$dom->loadHTML($html); echo $dom->documentElement->nodeValue;
그러나
$html = '<p> </p>'; $dom = new DOMDocument(); @$dom->loadXML($html); echo $dom->documentElement->nodeValue;
문제 가 없 었 습 니 다.나중에 알 게 되 었 습 니 다.원래 loadHTML 은 HTML 의 성명 meta 태그 에 의존 합 니 다.이러한 태그 가 없 으 면 iso-8859-1 문자 집합 으로 간주 되 기 때문에 어 지 러 운 코드 입 니 다.해결 하려 면 문자열 에 다음 과 같은 태 그 를 머리 에 붙 입 니 다.
$meta = '<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>'; @$dom->loadHTML($meta . $html);
2.귀속
HTML/XML 은 재 귀적 인 레이아웃 이기 때문에 반드시 재 귀적 으로 옮 겨 다 닐 것 입 니 다.
function _pretty_html_node($node){ // // 1. XML_TEXT_NODE // 2. XML_ELEMENT_NODE // 3. foreach($node->childNodes as $n){ $child_text .= _pretty_html_node($n); } // switch($tag){ case 'a': $href = $node->getAttribute('href'); $text .= "<a href=\"$href\">$child_text</a>"; ... } return $text; }
3.전의 문자 처리 벌칙
텍스트 노드 에 대해 nodeValue 는 html speciachars()의 전 의 를 뒤 집어 야 합 니 다.HTML/XML 을 읽 을 때 텍스트 에 반전 의 미 를 가 집 니 다.예 를 들 어<메모리 에 이미>입 니 다.
원본 다운로드:prettyhtml.php
Related posts:
C\#버 전의 Simple XMLApache 사무 기 를 설치 하 는 과정 에서 웹 페이지 의 난 장 판 문제if-else 최적화 코드 중복 에 대한 반감 화워드 프레스 페이지 코드자 바스 크 립 트 로 팝 업 창 생 성
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
laravel에 yo에서 angularJs&coffeescript를 사용할 수 있도록 한다.먼저 yo 명령을 사용할 수 있어야하므로 아래에서 설치 global에 설치한 곳에서 laravel의 프로젝트 루트로 이동. 클라이언트 코드를 관리하는 디렉토리를 만들고 이동합니다. 클라이언트 환경 만들기 이것으로 히...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.