0

我正在使用提要创建器(特别是 Kohana 的提要::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! ?>
4

2 回答 2

2

您希望代码在提要中实际显示为代码,而不是执行,对吗?如果是这样,您需要以与希望它以 HTML 显示的方式相同的方式对其进行转义,即:

htmlspecialchars( "<?php echo 'example'; ?>" )

这将导致您的提要看起来比现在更加乱码,因为 PHP 将被双重编码,一次用于 RSS XML,另一次用于 RSS XML 中包含的 HTML。

于 2009-08-11T01:39:50.887 回答
0

所有 RSS 标签都包含字符串,所以您不能在设置标签之前进行 PHP 操作吗?

所以不要说:

$xml->description = 'Description <?php echo $var; ?>';

你应该这样做:

$xml->description = 'Description ' . $var;

您想将 PHP 代码传递到您的 RSS 提要中的原因是什么?我猜很多提要阅读器无论如何都不会执行它。

于 2009-08-10T23:53:02.947 回答