请教个关于php正则表达式的问题。。。
迷茫
迷茫 2017-05-16 13:09:53
0
4
404

有点特殊需求,需要一条表达式取出html中N个字段数据
比如

<p class="test">
    <p class="title">xxx</p>
    <p class="xas"></p><pclass="asd"></p>
    <p class="pic">xxx</p>
</p>
<p class="test">
    <p class="title">xxx</p>
    <p class="xas"></p><pclass="asd"></p>
    <p class="pic">xxx</p>
</p>

需要在html中取出title以及pic的数据 正则该怎么写呢?
中间的 <p class="xas"></p><pclass="asd"></p> 为不同的内容 但是这些内容没什么用 没必要抓取
刚入门 请教一下 谢谢

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

membalas semua(4)
Ty80

Anda tidak perlu menggunakan ungkapan biasa, ada sesuatu yang dipanggil phpquery

我想大声告诉你
let str = `
    <p class="test">
        <p class="title">xxx</p>
        <p class="xas"></p><pclass="asd"></p>
        <p class="pic">xxx</p>
    </p>
    <p class="test">
        <p class="title">xxx</p>
        <p class="xas"></p><pclass="asd"></p>
        <p class="pic">xxx</p>
    </p>
`

let results = str.match(/(title|pic)">.*?</g).map(e=>e.replace('">', ':')).map(e=>e.replace('<', ''))

Hasilnya ialah:

// results:
[ 'title:xxx', 'pic:xxx', 'title:xxx', 'pic:xxx' ]

Tambahan:
Saya tidak nampak dengan jelas bahawa soalan itu menyebut PHP Saya tidak tahu banyak tentang PHP Ia ditulis dalam js.

Peter_Zhu

Muat naik kod sahaja

$re = '/(title|pic).*?>([^<]+)/';
$str = '<p class="test">
    <p class="title">xxx</p>
    <p class="xas"></p><pclass="asd"></p>
    <p class="pic">xxx</p>
</p>
<p class="test">
    <p class="title">xxx</p>
    <p class="xas"></p><pclass="asd"></p>
    <p class="pic">xxx</p>
</p>';

preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);

//演示输出的结果,你可以根据你的需求,从$matches中拿到你想要的xxx部分。
var_dump($matches);
淡淡烟草味

Prestasi seperti ini sangat teruk -.- Ia masih boleh dipercayai untuk menggunakan js untuk mendapatkannya di meja depan.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!