Я хочу проанализировать содержимое XHTML с помощью CURL. Как отменить номер транзакции, вес, высоту, ширину между тегами <table>
. Как отменить только содержимое из этого документа HTML и получить его как массив с помощью CURL?
transactions.php <table border=0 cellspacing=0 width=100%> <tr> <td colspan="2"> </td> </tr> <tr> <td width="30%" class="Mellemrubrikker">Transaction Number::</td> <td width="70%">24752734576547IN</td> </tr> <tr> <td width="30%" class="Mellemrubrikker">Weight:</td> <td width="70%">0.85 kg</td> </tr> <tr> <td width="30%" class="Mellemrubrikker">Length:</td> <td width="70%">543 mm.</td> </tr> <tr> <td width="30%" class="Mellemrubrikker">Height:</td> <td width="70%">156 mm.</td> </tr> <tr> <td width="30%" class="Mellemrubrikker">Width:</td> <td width="70%">61 mm.</td> </tr> <tr> <td colspan="2"> </td> </tr> </table>
index.php
<?php $url = "http://localhost/htmlparse/transactions.php"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); $output = curl_exec($ch); $info = curl_getinfo($ch); curl_close($ch); //print_r($output); echo $output; ?>
Этот код получает весь html-контент из transaction.php . Как получить данные между <table>
в качестве значения массива?
Попробуйте простой html dom из http://simplehtmldom.sourceforge.net/
Если вы не против использовать python или perl, вы можете использовать beautifulsoup или WWW-Mechanize
Я бы использовал Document Object Model вместо написания собственного кода синтаксического анализа или (не дай Бог!) Регулярных выражений.
Вот пример в PHP: PHP Parse HTML code