문제
나는 피드 제작자를 사용하고 있습니다 (특히 Kohana 's 피드 :: create ()), 내 텍스트 중 일부를 제외하고는 설명 요소에서 이와 같을 수 있습니다.
아래 코드를 참조하십시오
<?php echo 'example'; ?>
피드 제작자는 SimpleXML 라이브러리를 사용하고 있습니다. 데이터가 반환 될 때마다 (사용 $xml->asXml()
) 설명 요소 내부의 HTML 각도 브래킷은 HTML 엔티티로 변환됩니다.
이렇게하면 태그를 올바르게 구문 분석하여 P 태그 등에 유용하게 만듭니다. 그러나이 경우 PHP 코드는 나타나지 않습니다 (각도 브래킷으로 둘러싸여 있음).
내 질문은 - RSS 피드에서 이와 같은 것을 어떻게 보여줄 수 있습니까? 어떻게 표시 할 수 있습니까? >
그것이 그 자체로 다시 구문 분석 될 때 <
? 말이 돼?
다음은 출력되는 내용의 예입니다.
<description><p>some content</p>
<p>WITH some code</p><p><?php
//test me out!
?></p>
</description>
(노트 위의 오류가 아닙니다. 엔티티가 모두 변환됩니다)
(RSS 리더에서) 표시하고 싶은 것은
일부 내용
일부 코드로
<?php
//test me out! ?>
해결책
코드가 실제로 피드에 코드로 표시되기를 원하십니까? 그렇다면 HTML에 표시되기를 원할 경우와 같은 방식으로 탈출해야합니다.
htmlspecialchars( "<?php echo 'example'; ?>" )
PHP는 RSS XML의 경우 한 번, RSS XML에 포함 된 HTML의 경우 다시 이중 인코딩되기 때문에 피드가 이미보다 훨씬 더 많이 보이게됩니다.
다른 팁
모든 RSS 태그에는 문자열이 포함되어 있으므로 태그를 설정하기 전에 PHP 조작을 할 수 없습니까?
그래서 말하는 대신 :
$xml->description = 'Description <?php echo $var; ?>';
당신은해야합니다 :
$xml->description = 'Description ' . $var;
PHP 코드를 RSS 피드에 전달하려는 이유는 무엇입니까? 나는 많은 피드 리더들이 어쨌든 그것을 실행하지 않을 것이라고 생각합니다.