ここで、問題に関する最初の質問に言及することから始めます
必要なのは<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 コンテンツからリストを抽出する方法は?