문제

나는 피드 제작자를 사용하고 있습니다 (특히 Kohana 's 피드 :: create ()), 내 텍스트 중 일부를 제외하고는 설명 요소에서 이와 같을 수 있습니다.

아래 코드를 참조하십시오

<?php echo 'example'; ?>

피드 제작자는 SimpleXML 라이브러리를 사용하고 있습니다. 데이터가 반환 될 때마다 (사용 $xml->asXml()) 설명 요소 내부의 HTML 각도 브래킷은 HTML 엔티티로 변환됩니다.

이렇게하면 태그를 올바르게 구문 분석하여 P 태그 등에 유용하게 만듭니다. 그러나이 경우 PHP 코드는 나타나지 않습니다 (각도 브래킷으로 둘러싸여 있음).

내 질문은 - RSS 피드에서 이와 같은 것을 어떻게 보여줄 수 있습니까? 어떻게 표시 할 수 있습니까? &gt; 그것이 그 자체로 다시 구문 분석 될 때 <? 말이 돼?

다음은 출력되는 내용의 예입니다.

<description>&lt;p&gt;some content&lt;/p&gt;&#13;

&lt;p&gt;WITH some code&lt;/p&gt;&lt;p&gt;&lt;?php&#13;
    //test me out!&#13;
?&gt;&lt;/p&gt;&#13;
</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 피드에 전달하려는 이유는 무엇입니까? 나는 많은 피드 리더들이 어쨌든 그것을 실행하지 않을 것이라고 생각합니다.

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