在TWIG模板引擎中,解析内容的最佳方法如下:
[name="tom"]
Lorem ipsum dolor <strong>sit amet</strong>,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
[/name]
成像:
<blockquote>
Lorem ipsum dolor <strong>sit amet</strong>,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
</blockquote>
还可以获取 name 属性的值。在上面给出的示例中,属性名称的值为 tom 。建议?
答案 0 :(得分:1)
我最终使用Twig_SimpleFunction()
方法创建自定义TWIG函数(扩展名)。
/**
* @var $html STRING FROM THE POST
* @return $string RETURN AS STRING
*/
public function toBlockQuotedFormat($html) {
$re = '/(.*?)\[name=(.*?)\]/';
preg_match_all($re, $html, $matches);
if(isset($matches[2][0])) {
$name = $matches[2][0];
// CONVERT THE NAME-TAG TO BLOCKQUOTE
$html = str_replace("[name=".$name."]", "<blockquote>", $html);
$html = str_replace("[/name]", "</blockquote>", $html);
}
return $html;
}
然后我可以使用{{ toBlockQuotedFormat(theHtmlVar|nl2br)|raw }}
将其解析为所需的<blockquote></blockquote>
标记。我也有$name
值;但是在这种情况下,除了str_replace
函数之外,我没有使用它。