SQLクエリにpreg_match()関数を使用し正規表現で検索を行う。
$wsql->query(‘SELECT * FROM a WHERE preg_match(“/^http:///”, $href)’)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
connect('url', 'http://example.com/sample.html')){ print 'Error while connecting: ' . $wsql->error; exit; } if (!$wsql->query('SELECT * FROM a WHERE preg_match("/^http:///", $href)')){ print "Query error: " . $wsql->error; exit; } foreach($wsql->fetch_array() as $row){ print_r($row); } ?> |
1. $wsql = new htmlsql();
で、htmlsqlクラスのオブジェクトを作成し、$wsqlに代入。
2. $wsql->connect(‘url’, ‘http://example.com/sample.html’);
で、第二引数をURLとしてアクセスします。
3. $wsql->query(‘SELECT * FROM a WHERE preg_match(“/^http:///”, $href)’);
で、2.で得たURLのページに対しqueryの第一引数で指定したSQL文を実行します。
ここでは、条件(WHERE)に「preg_match(“/^http:///”, $href)」と入れています。
これは、「aタグの中でhref属性にが正規表現「/^http:///」にマッチしたものだけを抽出する」
という意味になります。
SQLクエリの中では属性の値を$hrefなどのように$属性名として使用できます。
また、タグで囲まれた文字列は$textとして使用できます。
4. for($wsql->fetch_array() as $row)
で、3.で得たSQLクエリの結果を取り出していきます。
–出力結果———————–
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Array ( [href] => http://www.yahoo.co.jp [tagname] => a [text] => yapuu ) Array ( [href] => http://www.kakaku.com [tagname] => a [text] => kakakukomo ) |
———————————
/