HTMLの解析。特定のタグを取り出すために使われる手法が正規表現。
PHPなので、「preg_match」とかを使う。
PHPには正規表現を扱う関数として、「ereg_」系と「preg_」系が用意されてて、校舎はperl互換。それだけでなく、後者のほうが機能的に満足いく結果が得られる場合が多い(というか、使いやすい)。
で、こんなやつ。
$pattern = '|<a href=["\']([^"\']+)["\'][^>]*>([^<]+)<|i'; preg_match_all( $pattern, $contents, $out, PREG_SET_ORDER);
もちろん、aタグをひっかける。「()」で囲まれている部分はあとで参照できる。URLと、アンカーが拾えるというわけだ。
しかし、これではひっかからないものもある。「href」属性の前に「class」属性だとか「id」属性が来たら、もうこれにはひっかからない。
で、別の方法を考えなくてならなくなるわけだ。まあ、そんな感じでいろいろあるわけです。