我已将Laravel 5.1用于我当前的项目。在这个项目中,我有一个文本区域输入字段,用户可以在其中插入带有预定义占位符的HTML。请看一下:
<div id="recommend">
<div class="title"><p>Title</p></div>
#{item}
<div class="layout">
<div class="item">
<a href="#{url}" class="rcm11"><img border="0" alt="#{name}" src="#{image}"></a>
</div>
</div>
#{/item}
</div>
我把它保存到我的数据库中。当用户请求HTML时,我通过用适当的值替换占位符来给出这个html。在上面的HTML#{item}上,#{url}等是占位符。我需要解析这个占位符并用适当的值替换。在Laravel或PHP中,我该怎么办?如果有人有答案,请告诉我。
答案 0 :(得分:5)
您可以通过提供2个数组来使用str_replace()
$placeHolder = array('#{item}' , '#{url}' , ...);
$values = array('itemValue', 'urlValue', ...);
print_r (str_replace($placeHolder, $values, $template));
或 strtr()
$trans = array('#{item}' => 'itemValue',
'#{url}' => 'urlValue' ,
...);
print_r (strtr($template, $trans));