定期的に問題が発生する場合は、専門家に指示を求めてください。

WBOY
リリース: 2016-06-23 13:21:17
オリジナル
991 人が閲覧しました

皆さん、こんにちは。私は通常のマッチングを行っており、次の属性名(色の分類やパッケージの種類など)と属性値(白、黒、パッケージ 1、パッケージ 2、パッケージ 3)を抽出したいと考えています。私のアプローチは次のとおりです。各

の中央にあるコンテンツが通常のルールによって照合され、その後、プログラムが
属性名
属性値は一致しますが、最初のステップでテストが失敗します:/
を一致させることはできませんでした。アドバイスをお願いします
class="tb-property-type">
< ul data-property="色の分類" class="J_TSaleProp tb-img tb-clearfix"> 「JavaScript: void (0); & gt;」 /span & gt;
& lt; li data-value="1627207:28327" >

-type "&gt;パッケージタイプ&lt;/dt&gt;
" "&lt; dd&gt;" "clearfix"&gt;                           套餐一
                      
                      已选中
                                    
                

  •                             
                                    套餐二
                                

                                已选中
                    
  •                     
                    

  •                       
                               套餐三
                          

                          已选中
                    

  •             
            
       


    回复讨论(解决方案)

    //自己到网上下一个include('simple_html_dom.php');$dom=new simple_html_dom();$dom->load($s);//$s 就是你的html$dls=$dom->find('dl');$res=array();foreach($dls as $k=>$dl){	$res[$k]['type']=$dl->find('dt')[0]->text();	foreach($dl->find('li') as $k1=>$li){		$res[$k][] = $li->find('span')[0]->text();	}}echo "<pre class="brush:php;toolbar:false">";print_r($res);echo "
    ";/*Array( [0] => Array ( [type] => 颜色分类 [0] => 白色 [1] => 黑色 ) [1] => Array ( [type] => 套餐类型 [0] => 套餐一 [1] => 套餐二 [2] => 套餐三 ))*/
    ログイン後にコピー

    $s =<<< HTML<dl class="J_Prop tb-prop tb-clear  J_Prop_Color ">        <dt class="tb-property-type">颜色分类</dt>        <dd>            <ul data-property="颜色分类" class="J_TSaleProp tb-img tb-clearfix">                <li data-value="1627207:3232483" class="tb-txt">                            <a href="javascript:void(0);">                                <span>白色</span>                            </a>                            <i>已选中</i>               </li>       <li data-value="1627207:28327" class="tb-txt">                            <a href="javascript:void(0);">                                <span>黑色</span>                            </a>                            <i>已选中</i>               </li>            </ul>        </dd></dl>  <dl class="J_Prop tb-prop tb-clear ">        <dt class="tb-property-type">套餐类型</dt>        <dd>            <ul data-property="套餐类型" class="J_TSaleProp tb-clearfix">                <li data-value="5919063:3266781">                      <a href="javascript:void(0);">                           <span>套餐一</span>                      </a>                      <i>已选中</i>                </li>                                    <li data-value="5919063:3266779">                            <a href="javascript:void(0);">                                <span>套餐二</span>                            </a>                            <i>已选中</i>                </li>                                    <li data-value="5919063:3266785">                      <a href="javascript:void(0);">                           <span>套餐三</span>                      </a>                      <i>已选中</i>                </li>            </ul>        </dd></dl>   HTML;preg_match_all('#<dl class="J_Prop tb-prop tb-clear.*?>(.+?)</dl>#is', $s, $m);foreach($m[1] as $i=>$v) {  preg_match_all('#<(dt|span).*>(.+)</\1>#isU', $v, $m);  $r[$i] = $m[2];}print_r($r);
    ログイン後にコピー
    Array(    [0] => Array        (            [0] => 颜色分类            [1] => 白色            [2] => 黑色        )    [1] => Array        (            [0] => 套餐类型            [1] => 套餐一            [2] => 套餐二            [3] => 套餐三        ))
    ログイン後にコピー

    ソース:php.cn
    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート