ホームページ  >  に質問  >  本文

php - 求一个通过正则获取多维数组

<p class="cate">栏目1</p>
<p class="article-list">
    <ul>
        <li>
            <a href="/article/110001.html">
                <p class="article-img">
                    <img src="" src="/images/5.jpg" />
                </p>
                <p class="article-name">文章标题1</p>
            </a>
        </li>
        <li>
            <a href="/article/110021.html">
                <p class="article-img">
                    <img src="" src="/images/51.jpg" />
                </p>
                <p class="article-name">文章标题2</p>
            </a>
        </li>
    </ul>
</p>
<p class="cate">栏目2</p>
<p class="article-list">
    <ul>
        <li>
            <a href="/article/130401.html">
                <p class="article-img">
                    <img src="" src="/images/23.jpg" />
                </p>
                <p class="article-name">文章标题3</p>
            </a>
        </li>
        <li>
            <a href="/article/114022.html">
                <p class="article-img">
                    <img src="" src="/images/26.jpg" />
                </p>
                <p class="article-name">文章标题4</p>
            </a>
        </li>
        <li>
            <a href="/article/123442.html">
                <p class="article-img">
                    <img src="" src="/images/89.jpg" />
                </p>
                <p class="article-name">文章标题5</p>
            </a>
        </li>
        <li>
            <a href="/article/12225.html">
                <p class="article-img">
                    <img src="" src="/images/42.jpg" />
                </p>
                <p class="article-name">文章标题6</p>
            </a>
        </li>
    </ul>
</p>

.....此处省略相同的代码

看上面的代码.想通过preg_match_all获取一个多维数组(含栏目,文章)
想得类似结果如下:

array(
    '栏目1'=>array(
    array('/article/110001.html','/images/5.jpg','文章标题1'),
    array('/article/110021.html','/images/51.jpg','文章标题2'),
    ),
    '栏目2'=>array(
    array('/article/130401.html','/images/23.jpg','文章标题3'),
    array('/article/114022.html','/images/26.jpg','文章标题4'),
    array('/article/123442.html','/images/89.jpg','文章标题5'),
    array('/article/12225.html','/images/42.jpg','文章标题6'),
    ),

)

每个栏目下的文章数不固定.
谢谢了.

漂亮男人漂亮男人2686日前499

全員に返信(3)返信します

  • 漂亮男人

    漂亮男人2017-05-16 13:03:40

    preg_match_all を単独で使用するだけでは実現できませんが、そのような配列を再構築することは可能です。

    queryList を使用することもできます。Baidu で確認できます。

    返事
    0
  • 高洛峰

    高洛峰2017-05-16 13:03:40

    queryList を使用することをお勧めします。正規表現を使用して配列を実装することはできませんが、正規表現を照合した後で配列を自分で結合することはできます。

    返事
    0
  • 迷茫

    迷茫2017-05-16 13:03:40

    少し面倒ですが、それでも望む結果を得ることができます

    リーリー

    返事
    0
  • キャンセル返事