// assuming $entry holds the entire string
$closing_tag = '</X>';
$end = strpos($entry, $closing_tag, 49) + 4; //add 4 because you want to include te entire closing tag
return substr($entry,0,$end);
现在执行{{ Log.entry_50| raw }}在您的小枝模板中。 不太方便的假设: 这里我假设不是所有的结束标记都相同,而是都具有</*>的形式。
2条答案
按热度按时间xdyibdwo1#
Twig只是一个模板引擎,它不会做你想做的事情。你需要做的是改变你给它的数据。
假设
Log.entry
是一个返回整个日志字符串的方法,您可以创建一个类似的方法,比如Log.entry_50
,它至少返回50个字符,直到遇到第一个结束标记为止。(假设您希望能够显示整个字符串,而不仅仅是前50个字符)方便的假设:所有的结束标记都是一样的,比如
</X>
。在你的方法entry_50
中,从entry
中取出字符串,并执行以下操作:现在执行{{ Log.entry_50| raw }}在您的小枝模板中。
不太方便的假设:
这里我假设不是所有的结束标记都相同,而是都具有
</*>
的形式。当然,如果
Log.entry
是一个变量,则解决方案会略有不同,但在这种情况下,只需添加包含上述解决方案的方法。bkkx9g8r2#