数据来自单个长阵列形式的Wordpress元数据。
我在metabox中插入的数据如下所示:
Rhine Riesling1|0,75 l|9,50 &euro
Rhine Riesling2|0,75 l|9,50 &euro
Rhine Riesling3|0,75 l|9,50 &euro
Rhine Riesling4|0,75 l|9,50 &euro
最终输出应如下所示:
<ul class="listmenuitems" id="listingmenu_1">
<li><p>Rhine Riesling1 <span>0,75 l</span></p> <span class="listmenuprice">9,50 €</span></li>
<li><p>Rhine Riesling2 <span>0,75 l</span></p> <span class="listmenuprice">9,50 €</span></li>
<li><p>Rhine Riesling3 <span>0,75 l</span></p> <span class="listmenuprice">9,50 €</span></li>
<li><p>Rhine Riesling4 <span>0,75 l</span></p> <span class="listmenuprice">9,50 €</span></li>
</ul>
如何考虑分隔符|
将数组切割成碎片,然后循环遍历它以创建格式正确的<li><p>
?
我正在阅读php explode atm。
答案 0 :(得分:3)
list($name,$content,$price) = explode("|",$line)
printf('<li><p>%s<span>%s</span></p> <span class="listmenuprice">%s</span></li>',$name,$content,$price)
答案 1 :(得分:0)
您可以使用PHP explode命令。 http://php.net/manual/en/function.explode.php
在每个条目调用中循环遍历数组:explode(“|”,$ entry); 那么你可以打印出你想要的东西:
$input_arr[];
echo '<ul class="listmenuitems" id="listingmenu_1">';
for($i=0;i<sizeof($input_arr);$i++) {
$e = explode("|",$input_arr[$i]);
echo "<li><p>" . $e[0] . "<span>" . $e[1] . "</span></p> <span class=\"listmenuprice\">" . $e[2] . "</span></li>";
}
注意有错误检查,并假设您有一个完整且格式良好的数组输入。
更新以添加foreach;) 如果foreach循环是您喜欢的......
$input_arr[];
echo '<ul class="listmenuitems" id="listingmenu_1">';
foreach($input_arr as $i) {
$e = explode("|",$i);
echo "<li><p>" . $e[0] . "<span>" . $e[1] . "</span></p> <span class=\"listmenuprice\">" . $e[2] . "</span></li>";
}
答案 2 :(得分:-1)
假设你的数组是
$metabox;
然后
echo '<ul class="listmenuitems" id="listingmenu_1">';
foreach($metabox as $val)
{
$petabox=explode("|",$val);
echo '<li><p>'.$petabox[0].'<span>'.$petabox[1].'</span></p> <span class="listmenuprice">'.$petabox[2].'</span></li>';
}
echo '</ul>';