Rumah > Soal Jawab > teks badan
Terdapat beberapa keperluan khas Ungkapan diperlukan untuk mengekstrak data medan N dalam html
Sebagai contoh
<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>
Kita perlu mengekstrak data tajuk dan gambar daripada HTML. Bagaimana untuk menulis ungkapan biasa?
<p class="xas"></p><pclass="asd"></p> di tengah adalah kandungan yang berbeza, tetapi kandungan ini tidak berguna dan tidak perlu untuk merangkaknya
Saya baru sahaja bermula. Sila beri saya nasihat. Terima kasih
PHP中文网2017-05-16 13:11:53
Anda tidak perlu menggunakan ungkapan biasa, ada sesuatu yang dipanggil phpquery
我想大声告诉你2017-05-16 13:11:53
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.
天蓬老师2017-05-16 13:11:53
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);
淡淡烟草味2017-05-16 13:11:53
Prestasi seperti ini sangat teruk -.- Ia masih boleh dipercayai untuk menggunakan js untuk mendapatkannya di meja depan.