htmlSQL サンプル(3) – preg_matchで絞込み -

SQLクエリにpreg_match()関数を使用し正規表現で検索を行う。
$wsql->query(‘SELECT * FROM a WHERE preg_match(“/^http:///”, $href)’)

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クエリの結果を取り出していきます。

–出力結果———————–

Array
(
    [href] => http://www.yahoo.co.jp
    [tagname] => a
    [text] => yapuu
)

Array
(
    [href] => http://www.kakaku.com
    [tagname] => a
    [text] => kakakukomo
)

———————————

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>