0

クライアントがフッターに表示される相互リンク セットを必要としている状況がありますが、すべてのページにはまったく異なる相互リンク セットが必要です。そこで、すべてのインターリンク セットを配列に入れて、簡単な PHP スニペットで呼び出すことにしました。成功!それは機能しますが、今はさらに大きな問題があります。サイトが 500 ページをはるかに超えているため、各相互リンク セットを入力するために必要な手作業は、多くの時間を消費します。したがって、私の目標は、相互リンク セット (以下を参照) を受け取り、配列 (以下を参照) に配置する PHP スクリプトを開発することです。あとは、各ページを調べて、相互リンク セットがあるかどうかを確認するだけです。そうでない場合は、すべての相互リンク セットをプログラミングするよりもはるかに短い時間で済む簡単なスニペットをフッターに記述します。


相互リンク セットは次のようになります (ソース コードから)

<!-- begin_block_7-->
<h2>Cost Reduction Resources</h2>
<a href="http://www.sourceconsulting.com/">shipping charges</a>  ||    
<a href="http://www.sourceconsulting.com/shipping-costs-calculators/fedex-ups-rates-calculator">ups shipping</a>  ||    
<a href="http://www.sourceconsulting.com/carrier-contract-negotiation">freight delivery</a>  ||   
<a href="http://www.sourceconsulting.com/parcel-freight-bill-audit">freight payment companies</a>  ||    
<a href="http://www.sourceconsulting.com/shipping-costs-calculators">compare shipping costs</a>  
<!-- end_block_7 -->

その連結セットを取得して、次のような配列に配置する必要があります

$interlinking_set_1 = array ( "<a href='http://www.sourceconsulting.com'>cost freight shipping</a><br/>", 
    "<a href='http://www.sourceconsulting.com/carrier-contract-negotiation'>trucking freight rates</a><br/>", 
    "<a href='http://www.sourceconsulting.com/shipping-costs-calculators/fedex-ups-rates-calculator'>ups shipping calculator</a><br/>", 
    "<a href='http://www.sourceconsulting.com/parcel-freight-bill-audit'>air freight carrier</a><br/>",
    "<a href='http://www.sourceconsulting.com/reduce-shipping-costs'>shipping costs</a><br/>",
    "<a href='http://www.sourceconsulting.com/shipping-costs-calculators'>freight rate calculator</a><br/>"
    );

これは間違いなく正規表現を使用することを知っているため、タグとして含めました。私はこれを行う方法について完全に迷っています。配列に入力する必要がある 500 をはるかに超える連結セットがあります。これにはすでに 10 時間以上を費やしており、もっと簡単な解決策が必要です。誰かにスクリプトを書いてもらうように頼んでいるのではなく、何時間もかけずに実行できる「わかりやすい」アイデアを教えてください。

ありがとう
ディレン

4

3 に答える 3

3
<?php
    $html = @file_get_contents($YOUR_URL);

    if(preg_match('/\<\!\-\- begin\_block\_7\-\-\>[\s\S]*\<\!\-\- end\_block\_7 \-\-\>/iU', $html, $linkBlock)){
        preg_match_all('/\<a.*\>.*\<\/a\>/iU', $linkBlock[0], $links);
        var_dump($links);
    }
?>

それはあなたにあなたのリンクを取得し、それらを出力します

于 2012-09-18T21:02:36.800 に答える
0

それをこすります。PHP SimpleHTMLDOMパーサー。

これにはjQueryスタイルセレクターがあります。繰り返し、配列に追加します。

于 2012-09-18T20:56:53.187 に答える
0

jQueryスタイルのDOM操作に精通している場合は、queryPathを使用できます。

于 2012-09-18T21:02:38.560 に答える