URL経由でロードされたテーブルから「名前」と「ID」を抽出したい。テーブルには常に異なる値が含まれます。1 つのテーブルは次のようになります 。例: 名前: 1m/id: 4514546468 (リンクからの id: https://www.lectio.dk/lectio/262/SkemaNy.aspx?type=stamklasse&klasseid=4514546468 )
必要なもの以外のすべてをフィルタリングするにはどうすればよいですか? cURL を使用してソース コードを取得し、必要なものを残してコードを除外したい。
私はこれを常に固定値のリストで行いましたが、テーブルは常に異なる値であるため、同じコードを使用することはできません:
<?php
$ch = curl_init("http://www.lectio.dk/lectio/login_list.aspx");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE);
$output = curl_exec($ch); // do it!
curl_close($ch); // close handle
$expld = explode("<a", $output);
$list = array();
$remove = array("/", "d");
$removefrom = array("/", "'", ">", "<");
foreach($expld as $key){
$gymnr = substr($key, 15, 3);
$gymnr = str_replace($remove, "", $gymnr);
$gymname = substr($key, 54);
$gymname = str_replace($removefrom, "", $gymname);
$gymname = substr($gymname, 0, -40);
$prelist = array($gymname, $gymnr);
$gymlist[] = $prelist;
};
unset($gymlist[0]);
foreach($gymlist as $school){
echo "<li data-id='".$school[1]."'>".$school[0]."</li>";
}
?>
正規表現を使用してこれをフィルタリングできると思いますが、それについて十分に理解していないため、例または解決策が必要です。