用語がよくわからないので、先に失礼します。
私は文字列をクエリする 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;
アイデア、考え、提案はありますか?助けてくれてありがとう!