2011-04-06 10 views
0

일부 HTML 코드 (cURL에 있음)를 정리하고 브라우저에 표시 할 보이는 텍스트를 필터링하는 함수 (PHP)가 있는지 알고 있습니까? 감사합니다.PHP로 HTML 출력 (정리 된 텍스트) 가져 오기

+0

실제로 볼 수있는 텍스트를 찾는 것이 매우 어려울 수 있기 때문에 HTML 파일의 텍스트를 세고 있다고 가정합니다. (CSS 표시 : 없음 또는 그냥 오버레이하는 것) –

답변

4

생각보다 어렵습니다. 명백한 간단한 해결책은 그 위에 strip_tags()를 실행하는 것입니다.하지만 태그를 제거하고 일반적으로 숨겨진 요소 내부의 모든 텍스트뿐만 아니라 포함 된 자바 스크립트와 CSS를 비롯하여 모든 텍스트 내용을 그대로 둡니다 (예 : display: none을 설정하여).). 관심없는 부분을 걸러 낼 수있는 정규식을 시도 할 수는 있지만 HTML의 정규식은 일반적으로 중요하지 않은 부분에 대해서는 나쁜 생각입니다. 궁극적 인 해결책은 적절한 HTML 구문 분석기를 사용하여 결과 DOM 트리 밖으로 실제 텍스트를 가져 오는 것입니다. 웹 브라우저를 구현할 때가 가까워 질 때까지는 그럴 것입니다.

+0

감사합니다. strip_tags() :-)를 실행하기 전에 자바와 CSS를 자르십시오. – Mattia

+0

자바 스크립트를 원한다면 좋겠습니다. Java는 완전히 다른 것입니다. – tdammers

1

는) strip_tags (를 살펴 보자 : 당신은 말 그대로 단지 다음 solution like TIDY could be your answer 코드를 "청소"경우

http://us.php.net/manual/en/function.strip-tags.php

+2

이제 왜 내가이 사이트에 처음으로 기여를 중단했는지 기억합니다. 지나친 열렬한 유권자들에 의한 좌절감을 재발견하는 데 30 분 밖에 걸리지 않았습니다. –

+0

+1 내 좌절감을 나누기 위해. – 65Fbef05

+0

감사합니다 !! ;-))) – Mattia

0

.

Some solutions like this은 일반 텍스트를 꺼내어 고통을 덜어줍니다.

그러나 "full on"구문 분석은 완전히 다른 이야기이며, 정규 표현식을 사용하는 것이 좋습니다.

+0

일부 개선 된 strip_tags 함수는 훌륭하게 작동합니다. 감사 – Mattia