1

誰かが助けてくれることを願っています。

wordpress サイトを構築していて、デザインの一部として、表示したい「機能パネル」がいくつかあります。

リストには合計 4 つの li がありますが、すべてのページにランダムに 2 つだけ表示したいと思います。

ページのクラスに基づいて各liを表示/非表示にすることで、CSSを介してそれを行うことができますが、PHPを介して同じことを行うよりエレガントな方法があるかどうか疑問に思っていますか?

私の HTML はここにあります... PHP をどこから始めればよいかわかりません。間違ったキーワードをグーグル検索しているようです...

    <ul id="featurePanels">
  <li id="newBoatsPanel">
    <h3><a href="#">New Boats<br />
      <span>Text</span></a></h3>
  </li>
  <li id="brokeragePanel">
    <h3><a href="#">Brokerage<br />
      <span>Text</span></a></h3>
  </li>
  <li id="newsPanel">
    <h3><a href="#">News<br />
      <span>Text</span></a></h3>
  </li>
  <li id="partsPanel">
    <h3><a href="#">Parts<br />
      <span>Need text here</span></a></h3>
  </li>
</ul>

任意のポインタをいただければ幸いです。

ありがとうございました。

4

2 に答える 2

0
<?php

$listItems = array(
 '<li id="newBoatsPanel">your text here</li>',
 '<li id="brokeragePanel">more text here</li>',
 '<li id="newsPanel">text text text</li>',
 '<li id="partsPanel">Need text here</li>'
);

shuffle($listItems); // shuffles (randomizes the order of the elements)

// print the list
echo '<ul id="featurePanels">' . $listItems[0] . $listItems[1] . '</ul>';

?>
于 2012-08-02T08:49:06.760 に答える
0

使用できます preg_match_all('/\<li.*?\>.*?\</li\>/i',$html_string,$li_list)

$li_list には、li の配列があり、シャッフル、ランダム、スプライス、スライスなど...

最後implodeにHTMLを取得するために使用します。

于 2012-08-02T08:42:39.667 に答える