我不确定术语,所以我提前道歉。
我正在尝试创建一个 PHP 模板引擎,它将查询一个字符串<ZONE header>
,</ZONE header>
它会在两者之间提取所有内容,然后运行一个 php 函数来查看标头是否存在。如果标题存在,它将显示介于两者之间的内容,如果标题不存在,它将删除介于两者之间的内容。
这是一个例子:
$string = "
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
<ZONE header><img src="images/header.jpg" /></ZONE header>
<p>Nam sollicitudin mattis nisi, eu convallis mi tincidunt vitae.</p>
";
理想情况下,该函数将删除<ZONE header><img src="images/header.jpg" /></ZONE header>
,然后它将运行我创建的 php 函数,该函数header()
检查数据库中是否存在“标题”,如果存在,它将显示内部的所有内容<ZONE header></ZONE header>
,如果不存在,它将删除它从字符串。
如果“标题”存在:
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
<img src="images/header.jpg" />
<p>Nam sollicitudin mattis nisi, eu convallis mi tincidunt vitae.</p>
如果“标题”不存在:
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
<p>Nam sollicitudin mattis nisi, eu convallis mi tincidunt vitae.</p>
这是我正在使用但卡住的内容:
preg_match_all("|\<ZONE_header>(.*)\<\/ZONE_header>|isU", $string, $zone, PREG_SET_ORDER);
if (isset($zone) && is_array($zone)) {
foreach ($zone as $key => $zoneArray) {
if ($key == 0) {
$html = $zoneArray[1];
if ($html != "") {
if (header() != "") {
$html = str_replace($zoneArray[0], NULL, $html);
}
}
}
}
}
echo $html;
有什么想法、想法、建议吗?感谢您的任何帮助!