문제

최근에 HTML을 게시 한 일부 RSS 피드 (지금까지는 평범한 텍스트, 마크 업은 없음)에 소개했으며 어떤 메소드가 더 나은지 궁금했습니다. 문자 인코딩 (htmlspecialchars)을 사용하거나 CDATA의 모든 것을 캡슐화합니까?

CDATA가 더 쉬울 수 있지만, 한 가지 접근 방식을 선택 해야하는 이유 (미묘하거나 다른 방법)가 있을지 여부는 불분명합니다. (우선, CDATA 접근 방식은 소스를 볼 때 읽기가 더 쉬울 것입니다 ...)

도움이 되었습니까?

해결책

CDATA는 XML 파서에서 구문 분석해서는 안되는 모든 데이터에 대한 것입니다. CDATA 블록에있는 모든 태그 ~ 할 것이다 XML 파서에 의해 구문 분석되며 다른 의미를 가질 수 있습니다.

CDATA는 필요하지 않은 경우 파서에 대한 오버 헤드를 발생시킬 수 있습니다. HTML (또는 다른 방법)이 사용되지 않을 때마다 CDATA 블록을 피하십시오. 그렇지 않으면 사용하십시오.

즉, 나는 당신이 항상 RSS보다 원자를 선호해야한다는 점에서 Jamesh와 동의합니다. 나는 피드 리더를 생성하고 피드를 긁을 때 항상 RS보다 원자를 선호합니다.

다른 팁

개인적으로 CDATA는 독자가 재미있는 일을 할 필요없이 가입자가 실제 HTML을 표시 할 수 있으므로 더 쉽습니다.

HTML 인코딩을 사용하는 경우 가입자 리더 또는 웹 사이트 iteself는 소스를 디코딩하여 HTML을 표시해야합니다.

당신이 듣고 싶지 않을 수도있는 답을 줄 위험이 있습니다 : 사용 원자 대신에 RSS.

ATOM은 XML이 멋지게 XML이 좋으므로 XHTML을 인코딩 문제에 대해 걱정할 필요없이 XHTML을 바로 혼합하고 일치시킬 수 있습니다.

그것은 RSS가 어디에나있는 모든 곳에서 거의 지원되며, 바닐라 원자 일 뿐이므로 라이브러리를 사용하여 조작하고 싶지 않다면 직접 굴리는 것이 더 쉽습니다.

Atom은 또한 RSS가 아닌 IETF 표준입니다.

htmlentities ()는 매력처럼 작동합니다. cdata를 사용할 필요가 없습니다.http://php.net/manual/en/function.htmlentities.php

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top