ホームページ  >  記事  >  バックエンド開発  >  タグの属性値を抽出するための正規表現

タグの属性値を抽出するための正規表現

WBOY
WBOYオリジナル
2016-06-13 13:06:39949ブラウズ

タグの属性値を抽出する正規表現
タイトル「アメイジング スパイダーマン (2012)」の値を正規表現で抽出するにはどうすればよいですか?
preg_split を 2 回使用しましたが、非常に効率が悪いようです。何かアイデアはありますか?

HTML コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
<td class="image">
    <a href="/title/tt0948470/" title="The Amazing Spider-Man (2012)"><img src="http://ia.media-imdb.com/images/M/MV5BMjMyOTM4MDMxNV5BMl5BanBnXkFtZTcwNjIyNzExOA@@._V1._SX54_CR0,0,54,74_.jpg" height="74" width="54" alt="The Amazing Spider-Man (2012)" title="The Amazing Spider-Man (2012)"></a>
  </td>



------解決策------ -
PHP コード

<?php
$str='<td class="image">
    <a href="/title/tt0948470/" title="アメイジング スパイダーマン (2012)"><img src="http://ia.media-imdb.com/images/M/MV5BMjMyOTM4MDMxNV5BMl5BanBnXkFtZTcwNjIyNzExOA@ @._V1._SX54_CR0,0,54,74_.jpg" height="74" width="54" alt="アメイジング スパイダーマン (2012)" title="アメイジング スパイダーマン (2012)"> </a>
    <a href="/title/tt0948470/" title="アメイジング スパイダーマン (2012)">
  </td>';
$patten = '/title="(.*)"/Uis';
if (preg_match ( $patten, $str, $array )) {
print_r($array);
}
echo "<br>";
$patten1 = '/<a href=".*" title="(.*)">/Uis';
if (preg_match_all ( $patten1, $str, $array1 )) {
print_r($array1[1]);
}
?>
<br><font color="#e78608">------解決策------------------</font><br>
PHP コード

$string='<td class="image"><a href="/title/tt0948470/" title="アメイジング スパイダーマン (2012)1"><img src="http:/ /ia.media-imdb.com/images/M/MV5BMjMyOTM4MDMxNV5BMl5BanBnXkFtZTcwNjIyNzExOA@@._V1._SX54_CR0,0,54,74_.jpg" height="74" width="54" alt="アメイジング スパイダーマン (2012) " title="アメイジング スパイダーマン (2012)3"></a><a href="/title/tt0948470/" title="アメイジング スパイダーマン (2012)2">< /td>';
    if (preg_match_all ( '/(?<=s)title="(.*)"/Ui', $string, $arr )) {
        var_dump($arr);
    }
    /*
        <br>配列(2) {
  [0]=>
  配列(3) {
    [0]=>
    string(38) "title="アメイジング スパイダーマン (2012)1""
    [1]=>
    string(38) "title="アメイジング スパイダーマン (2012)3""
    [2]=>
    string(38) "title="アメイジング スパイダーマン (2012)2""
  }
  [1]=>
  配列(3) {
    [0]=>
    string(30) 「アメイジング スパイダーマン (2012)1」
    [1]=>
    string(30) 「アメイジング スパイダーマン (2012)3」
    [2]=>
    string(30) 「アメイジング スパイダーマン (2012)2」
  }
}

    */ <div class="clear"></div>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。