cari

Rumah  >  Soal Jawab  >  teks badan

Saya mempunyai soalan tentang ungkapan biasa php. . .

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

迷茫迷茫2832 hari yang lalu495

membalas semua(4)saya akan balas

  • PHP中文网

    PHP中文网2017-05-16 13:11:53

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

    balas
    0
  • 我想大声告诉你

    我想大声告诉你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.

    balas
    0
  • 天蓬老师

    天蓬老师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);

    balas
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-16 13:11:53

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

    balas
    0
  • Batalbalas