expressionEngine php解析str_replace无法正常工作

时间:2011-07-01 01:59:14

标签: php expressionengine

我在输出上启用了php的模板。但是我无法让str_replace工作。见下面的代码。如果我只是把{title}没有任何PHP,那么它的工作原理。但是当我包含php并将{title}放在str_replace函数中时,我什么都没显示。我用简单的echo'test'尝试了php;它起作用了。它只是不解析{title}或其他字段标签。

{exp:channel:entries channel="one" url_title="{segment_2}"}
  <?php
    echo str_replace('old', 'new', '{title}');
  ?>
{/exp:channel:entries}

2 个答案:

答案 0 :(得分:2)

这可能听起来很荒谬,但您是否尝试从url_title标记中删除{exp:channel:entries}参数,以确保其余代码和逻辑正常运行?

以下代码应输出“旧测试”的条目标题(不带引号):

{exp:channel:entries channel="channel_name" entry_id="xx" dynamic="off"}
    {title} 
{/exp:channel:entries}

鉴于“旧测试”的相同条目标题,这应该输出:“新测试”(再次,没有引号):

{exp:channel:entries channel="channel_name" entry_id="xx" dynamic="off"}
    <?php
        echo str_replace('old', 'new', '{title}');
    ?>
{/exp:channel:entries}

已在启用PHP 的新空白模板中成功测试,并设置为输出

Screenshot

答案 1 :(得分:0)

您可以尝试嵌入包含PHP的模板并以这种方式发送变量。输入/输出上的解析有时与某些元素无关。