Saya cuba memformat NodeList yang saya dapat melalui getElementsByTagName, sebenarnya saya boleh mendapatkan kandungan setiap tag, tetapi saya tidak boleh menapis, saya cuba membuat output seperti ini:
EXAMPLE: name: jhon doe number: 12345678 date: 00/00/0000
Tetapi saya hanya mendapat kandungan biasa:
JOHN DOE 12345678 00/00/0000 lane DOE 7234567890 00/30/0000
Atau jika saya menggunakan [0], ia hanya mengembalikan huruf/nombor pertama setiap tag.
J 1 0 l 7 3
Kod semasa saya ada di bawah, ada petua tentang perkara yang boleh saya lakukan?
<?php $string = ' <tbody> <tr> <td>JOHN DOE</td> <td style="background-color: rgb(25, 194, 25);">12345678</td> <td>00/00/0000</td> </tr> <tr> <td>lANE DOE</td> <td style="background-color: rgb(25, 194, 25);">7234567890</td> <td>30/00/0000</td> </tr> </tbody>'; $dom = new DOMDocument(); $dom->loadHTML($string); foreach($dom->getElementsByTagName('td') as $td) { echo $td->textContent[0] . '<br/>'; }
Kesilapan yang anda lakukan ialah anda menggunakan tag td, yang tidak mengembalikan setiap rekod tetapi setiap nilai (lihat kod anda).
Mula-mula anda hendaklah menggunakan tag "tr"
Kedua, anda harus menggunakan nodeValue untuk mendapatkan data bagi mana-mana item tertentu dengan indeks sebutan
Kod yang diperbetulkan diberikan untuk rujukan anda Jika ada yang kurang jelas, sila tanya soalan
Jika anda ingin mengeluarkan semua item, anda boleh menggunakan gelung
Dari manakah anda menjangkakan
姓名
、号码
和日期
berasal? PHP tidak tahu apa maksud nilai jadual, jadi anda perlu menetapkannya sendiri entah bagaimana.Tiada petunjuk dalam HTML maksud setiap sel jadual, jadi anda hanya boleh meneka dan berharap struktur jadual tidak pernah berubah. Jadual diisih mengikut nama - nombor - tarikh, jadi anda boleh menyimpulkan daripada nombor sel bahawa label untuk tertentu mestilah: 0 = nama, 1 = nombor, 2 = tarikh.
Jadi, jika anda menghuraikan HTML untuk setiap jadual baris , dan kemudian menghuraikan setiap baris untuk setiap jadual sel , anda boleh menambah teg berdasarkan susunan sel.
Tetapi sila ambil perhatian bahawa jika kandungan HTML datang daripada sumber luaran dan ia mengubah susunan sel, ralat akan berlaku.