0

ここで、問題に関する最初の質問に言及することから始めます

必要なのは<ul>、HTML 文字列から配列内のすべてのリストを取得して、各リストを半分に分割 (1 つのリストから 2 つのリストを作成) して操作し、各リストをフローティングして 2 つの列に表示することです。例:

ソース:

Lorem ipsum dolor et amet...<br />
<ul>
    <li>List item 1</li>
    <li>List item 2</li>
    <li>List item 3</li>
    <li>List item 4</li>
</ul>
Lorem ipsum dolor et amet...<br />
NEXT UL LIST GOES HERE... etc..

必要な結果:

Lorem ipsum dolor et amet...<br />
<div style="overflow:hidden;">
  <ul>
    <li>List item 1</li>
    <li>List item 2</li>
  </ul>
  <ul>    
    <li>List item 3</li>
    <li>List item 4</li>
  </ul>
</div>
NEXT UL LIST GOES HERE... etc..

私はCSSフローティングについて知って<li>いますが、これは次のような間違った順序でリストを表示します:

Lorem ipsum...
list item 1     list item 2
list item 3     list item 4
list item 5     list item 6

不要なもの。そこで、解決策として、各リストを半分に分割 (1 つのリストから 2 つのリストを作成) してから、それらをフローティングすることができると判断しました。

前回の質問でわかるように、私の最初のアイデアは、preg_match_all()PHP 関数を使用してそれを行うことでした。しかし、それはあまりうまくいきません。また、HTML を解析するために正規表現を使用することは悪い考えであるとユーザーが示唆したように、次のようになります。

誰かがDOMDocumentまたは他の方法を使用してこれを行う方法を説明できますか? 必要に応じて操作できるように、html コンテンツからリストを抽出する方法は?

4

0 に答える 0