ALTやTITLEの属性値を取得するための正規表現

アンカータグのtitle属性値やイメージタグのalt属性値を正規表現で抽出し、任意文字列変更する等の処理を行う場合のサンプルを下記に掲載しました。

下記はアンカータグ内のtitle属性値を正規表現で抽出しています。title=”” の値のみを抽出しています。


$contentanchor = <<< AOF

<p>
  パナソニックの<a href="" title="レッツノート">レッツノート</a>を購入するつもりだったが、<br />
  悩んだ末、結局、ネット通販で米沢生産モデルの<a href="" title="ThinkPad">ThinkPad</a>を購入した。
</p>

AOF;

  //例 ページ内に存在するすべてのアンカータグ内のtitle属性値を抽出し参照
  preg_match_all( '/<a\s[^><]*?\btitle=["\']?([^"\'><]*)/', $contentanchor, $match_title );
  
  foreach( $match_title[1] as $title_key => $title_value ){
    echo $title_value."<br />\n";
  }
  
  /* 結果
  レッツノート
  ThinkPad
        */

下記はイメージタグ内のalt属性値を正規表現で抽出しています。alt=”” の値のみを抽出しています。



$contentimg = <<< BOF

<p>
  <img src="" alt="レッツノート" /><br />
  パナソニックのレッツノート。
  
  <img src="" alt="ThinkPad" /><br />
  先日、購入した米沢生産モデルのThinkPad。
</p>

BOF;
  
  //例 ページ内に存在するすべてのイメージタグ内のalt属性値を抽出し参照
  preg_match_all( '/<img\s[^><]*?\balt=["\']?([^"\'><]*)/', $contentimg, $match_alt );
  
  foreach( $match_alt[1] as $alt_key => $alt_value ){
    echo $alt_value."<br />\n";
  }
  
  /* 結果
  レッツノート
  ThinkPad
        */