我有以下字串;
$string = '[PAGE][TITLE]Navigation Link 1[TITLE]Content Here[PAGE]';
我想要的輸出是;
<div id="navigation Link 1">Content Here</div>
我以為我已經做到了;
$array = explode('[PAGE]', $string);
$result = $array[0];
for ($i = 1; $i < sizeof($array); $i ) {
$title = explode('[TITLE]', $array[$i]);
for ($i = 1; $i < sizeof($title); $i ) {
$result .= $i % 2 ? '<div id="' . $title[$i] . '">' . $array[$i] . '</div>' : $array[$i];
}
}
如果有人可以看看這個,那就太好了。這也必須適用于多個實體。例如 ;
$string = '[PAGE][TITLE]Navigation Link 1[TITLE]Content Here[PAGE] some text [PAGE][TITLE]Navigation Link 2[TITLE]Content Here[PAGE]';
感謝您查看此內容并提供任何幫助。
uj5u.com熱心網友回復:
您可以preg_match_all()用來獲取所需的內容:
$string = '[PAGE][TITLE]Navigation Link 1[TITLE]Content1 Here[PAGE] some text [PAGE][TITLE]Navigation Link 2[TITLE]Content2 Here[PAGE]';
$html = '';
if (preg_match_all('~\[PAGE\]\[TITLE\](.*?)\[TITLE\]([^[.]*)~',$string,$matches)) {
foreach ($matches[0] as $k => $match) {
$html .= '<div id="'.htmlentities($matches[1][$k]).'">'.htmlentities($matches[2][$k]).'</div>' . "\n";
}
}
echo $html;
輸出:
<div id="Navigation Link 1">Content1 Here</div>
<div id="Navigation Link 2">Content2 Here</div>
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/399715.html
下一篇:如何合并兩個串列?[復制]
