0

データは、単一の長い配列の形式で Wordpress メタボックスから取得されます。

メタボックスに挿入するデータは次のようになります。

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 &euro;</span></li>
    <li><p>Rhine Riesling2 <span>0,75 l</span></p> <span class="listmenuprice">9,50 &euro;</span></li>
    <li><p>Rhine Riesling3 <span>0,75 l</span></p> <span class="listmenuprice">9,50 &euro;</span></li>
    <li><p>Rhine Riesling4 <span>0,75 l</span></p> <span class="listmenuprice">9,50 &euro;</span></li>
</ul>

セパレーター|を考慮して配列を分割し、それをループして正しくフォーマットされたを作成するにはどうすればよい<li><p>ですか?

私はphp爆発atmを読んでいます。

4

3 に答える 3

3
list($name,$content,$price) = explode("|",$line) 
printf('<li><p>%s<span>%s</span></p> <span class="listmenuprice">%s</span></li>',$name,$content,$price)
于 2012-06-26T08:03:43.303 に答える
0

PHP の爆発コマンドを使用できます。 http://php.net/manual/en/function.explode.php

エントリ呼び出しごとに、配列をループします。次に、必要なものを次のように印刷できます。

$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>";

}
于 2012-06-26T08:01:51.370 に答える
-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>';
于 2012-06-26T08:02:03.473 に答える