이 문제를 해결하기 위해 정규식에 시간을 보냈지 만 결과가 없습니다 PHP 5.3을 사용하여이 문제를 해결해보십시오 정보 - 페이지에서 반복되는 횟수와 페이지의 모든 태그에 대한 정보.페이지의 모든 HTML 태그를 카운트 PHP
2
A
답변
0
17
체크 아웃 좋습니다. 업데이트하고보다 구체적으로 작성하십시오. 이 페이지의 모든 HTML 태그를 계산 하려는 경우, 당신은 할 수 있습니다 :
$HTML = <<< HTML
<html>
<head>
<title>Some Text</title>
</head>
<body>
<p>Hello World<br/>
<img src="earth.jpg" alt="picture of earth from space"/>
<p>
<p>Counting Elements is easy with DOM</p>
</body>
</html>
HTML;
를 DOM 모든 DOMElements 계산 :
$dom = new DOMDocument;
$dom->loadHTML($HTML);
$allElements = $dom->getElementsByTagName('*');
echo $allElements->length;
위가 출력 8
을, 여덟 개 요소가 있기 때문에 DOM. 당신은 또한 에게 요소의 분포를 알 필요가 있다면, 당신은 getElementsByTagName은 DOMElements 만 반환
$elementDistribution = array();
foreach($allElements as $element) {
if(array_key_exists($element->tagName, $elementDistribution)) {
$elementDistribution[$element->tagName] += 1;
} else {
$elementDistribution[$element->tagName] = 1;
}
}
print_r($elementDistribution);
이 Array (
[html] => 1
[head] => 1
[title] => 1
[body] => 1
[p] => 2
[br] => 1
[img] => 1
)
주를 반환 할 수 있습니다. 태그를 닫는 것을 고려하지 않으며 다른 DOMNode도 반환하지 않습니다. 종료 태그 및 기타 노드 유형도 계산해야하는 경우 XMLReader을 대신 사용해보십시오.
1
$testHTML = file_get_contents('index.html');
$search = preg_match_all('/<([^\/!][a-z1-9]*)/i',$testHTML,$matches);
echo '<pre>';
var_dump($matches[1]);
echo '</pre>';
모든 태그의 배열을 제공합니다. 데이터가 배열에 있으면 모든 표준 PHP 배열 함수를 사용할 수 있습니다. array_count_values () - 당신이 정말로 당신이으로, preg_match_all의 결과()와 html 태그 array_count_values를 사용
()에 대해 원하는 정보가 무엇인지 말을하지 않는하지만 ... 당신이 원하는 정보를 추출하기 :
echo '<pre>';
var_dump(array_count_values($matches[1]));
echo '</pre>';
는
array(5) {
["html"]=>
int(1)
["head"]=>
int(1)
["title"]=>
int(1)
["body"]=>
int(1)
["h1"]=>
int(2)
}
이 당신이 원하는 무엇을 주는가?
관련 문제
- 1. URL이없는 페이지의 html 태그를 얻는 방법
- 2. Ajax 요청은 페이지의 모든 html 요소를 반환합니다.
- 3. php cURL 페이지의 모든 요청을 처리하는 방법
- 4. PHP - 닫히지 않은 HTML 태그를 끝내시겠습니까?
- 5. [HTML] : 페이지의 모든 요소 이름 결정
- 6. HTML 앵커 태그를 중첩합니다.
- 7. PHP 정규식이 모든 HTML 태그와 일치합니다
- 8. 모든 태그를 제거하는 방법?
- 9. 페이지의 캐시 mpeg 파일로드, html + php
- 10. 잘못된 설명 메인 페이지의 카운트 넘버
- 11. 큰 HTML 웹 페이지의 특정 div 태그를 타겟팅하는 CSS
- 12. PHP - DOMDocument - 새로운 HTML 태그가있는 기존 HTML 태그를 변경/교체해야합니다.
- 13. PHP Tidy가 태그를 제거합니다.
- 14. jquery PHP 스크립트는 페이지의 모든 결과를 얻으려고합니까?
- 15. html 태그를 저장하고 올바르게 재생
- 16. PHP 초 카운트 다운
- 17. PHP 고유 히트 카운트
- 18. PHP : 카운트 다운 시계
- 19. PHP 카운트 질문
- 20. 메타 태그를 HTML 인코딩해야합니까?
- 21. html 태그를 preg_replace로 바꾸기
- 22. 스칼라에서 HTML 태그를 제거하십시오.
- 23. HTML 태그를 소문자로 변환하십시오.
- 24. HTML 페이지의 단락 추출
- 25. 자바 스크립트를 사용하여 HTML 페이지의 모든 텍스트 영역을 변경하십시오.
- 26. html 페이지의 내부화
- 27. 원격 페이지의 스타일 태그를 선택 하시겠습니까?
- 28. PHP HTML .HTML 문서 내에 PHP 태그를 내장 할 수 있습니까?
- 29. php DomDocument가 여분의 태그를 추가합니다.
- 30. HTML 태그를 사용한 현지화
시도한 내용을 게시하십시오. dom 요소의 수를 원한다면 자바 스크립트에서 더 나은 결과를 얻을 수 있지만 php는 libxml을 사용하여이를 수행 할 수 있습니다. 유효한 xhtml이라고 가정합니다. – Gabriel
PHP에서 작성하는 경우 [DOMDocument class] (http://php.net/manual/en/class.domdocument.php)를 사용해야합니다. Gordon의 대답은 여기를 참조하십시오 : [str_replace 특정 HTML 태그 내에서만] (http://stackoverflow.com/questions/3172493/str-replace-within-certain-html-tags-only) – Mike
나는 reg exp를 사용하여이 문제를 좋아한다. substr 논리는 다음이었다 모든 페이지가 1 개의 긴 문자열로 변환 HTML 태그를 찾아서 모두 제거한 후 모두를 제거한 후 다음을 계산하십시오. – Alexandr