在PHP中使用相关值进行HTML解析

时间:2016-02-26 10:53:14

标签: php html parsing laravel-5.1

我已将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中,我该怎么办?如果有人有答案,请告诉我。

1 个答案:

答案 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));