expressionEngine php解析str_replace不工作

expressionEngine php解析str_replace不工作,php,expressionengine,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 e

我有一个在输出时启用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}
{exp:channel:entries channel=“one”url\u title=“{segment\u 2}”
{/exp:channel:entries}

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

这听起来可能很荒谬,但是您是否尝试过从
{exp:channel:entries}
标记中删除
url\u title
参数,以确保其余代码和逻辑正常工作

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

给定相同的条目标题“old test”,应输出:“new test”(同样,不带引号):

{exp:channel:entries channel=“channel\u name”entry\u id=“xx”dynamic=“off”}
{/exp:channel:entries}
这在启用了PHP并设置为输出的新空白模板中得到了成功测试


这不是一个解决方案。知道我在说什么的唯一方法就是自己试试。@Thank@rjb,我应该用
segment_3
而不是
segment_2
。它现在可以工作了,但是如果我有下面的str_replace单词数组,它就不工作了。php似乎无法识别标题<代码>$searchArray=数组(“on”、“two”、“thre”、“fou”)$replaceArray=数组(“一”、“二”、“三”、“四”)$intoString=“{title}”;echo str_replace($searchArray、$replaceArray、$intoString)此处无法识别
{title}
的任何原因。以下代码对我有效:或
{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}