ホームページ > バックエンド開発 > PHPチュートリアル > 正規表現の検索とその処理方法

正規表現の検索とその処理方法

WBOY
リリース: 2016-06-13 13:40:11
オリジナル
1002 人が閲覧しました

正規表現を検索します





  • [タオバオ モール]


    アクティビティ タイトル







  • ....




      通常のメソッドを使用して、上記のコンテンツを配列の文字列に変換したいと考えています。 expression

      array(
      [0] =>array(
      "ショップ名" => "タオバオ モール",
      "activename"=> "アクティビティ タイトル",
      "actimage " => "http://image.com/pic.gif",
      "acturl" => "http:/www.tmall.com/" //これはイベントのタイトルへのリンクです
      ) ,
      [1] =>array(…)

      );

      上記のように配列を出力します



      ------解決策----------------------
      正規表現だけを使用して要件を達成することは不可能のようです。それに対処する必要があります。マッチング結果を載せておきます。独自の追加を処理します:

      PHP コード
      
         $str=<<<html
      <ul class="s">
        <li id="tongji_cate_1_pn_1_rank_1">
        <a href="http://www.tmall.com" class="pic">
        <img src="http://image.com/pic.gif"></a>
        <p><a href="http://www.taobao.com/" class="site">[タオバオ モール]</a></p>
        <p><a href="http://www.tmall.com/" title="アクティビティ タイトル" >アクティビティ タイトル</a></p>
        </li>
        
        <li id="tongji_cate_2_pn_2_rank_2">
        …
        </li>
      
      …
      
      
      ログイン後にコピー
        html; preg_match_all('#]*>(.*)#isU',$str,$arr); foreach($arr[1] as $v){ preg_match_all('#]*>(.*)#isU',$v,$ar[]); } print_r($ar);
        ------解決策------------------
        PHP コード
        
        $str = <<<HTML
        
        ログイン後にコピー
        HTML; /***"ショップ名" => "タオバオモール", "activename"=> "アクティビティのタイトル", "actimage" => "http://image.com/pic.gif", "acturl" => "http://www.tmall.com/" //これはイベントタイトルへのリンクです*/ $pattern = '~img.*(? 配列 ( [0] => http://image.com/pic.gif1 [1] => タオバオモール 1 [2] => http://www.tmall.com/1 [3] => アクティビティのタイトル 1 ) [1] => 配列 ( [0] => http://image.com/pic.gif2 [1] => タオバオモール 2 [2] => http://www.tmall.com/2 [3] => アクティビティのタイトル 2 ) )*/
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート