2011-01-23 15 views
1

htmlファイル内に次のようなパターンがあります。リンクを取得するためにPHPで解析したいと思っていますが、今はQueryPathと私の場合を使用しようとしています。PHPで解析するhtmlパターン

<script> 
to.addVariable("site_name","http://www.sitename.com"); 
</script> 

私はちょうどそれを印刷するためにそのパターンのリンク部分を返したいと思います。

誰かにおすすめする方法があります。 ありがとうございます。

UPDATE:私は多分phpQueryまたはQueryPathで、PHPを使用して上記のコードから値としてhttp://www.sitename.comを取得したいと思います。マッチを取得するためにpreg_match_allを使用し、その後

$regex = '#to\.addVariable\("(.+?)", "(.+?)"\)#'; 

+0

質問をよくお聞かせください。 – aqua

+0

私は上記のコードからphpを使用して、おそらくphpQueryまたはQueryPathで値としてhttp://www.sitename.comを取得したいと考えています。 – devjs11

答えて

1

何かが動作します

<?PHP 
    $text = ' 
    <script> 
    to.addVariable("site_name","http://www.sitename.com"); 
    </script> 
    '; 
    preg_match('#to\.addVariable\("site_name","([^"]+)"\);#', $text, $matches); 
    echo $matches[1]; 
?> 

あなたに複数のto.addVariable(...の文字列を持っている場合にもpreg_match_allを使用することができます0セクション。

+0

ありがとうございます! – devjs11

0

は、この正規EXPを試してみてください。 URLが実際ののURLであることを確認するには、正規表現を取得してURLに一致させ、2番目の+?に配置すると、これらのパターンは ""の間のものと一致します。あなたがソースを信頼しない限り、あなたは必要です。

注:!私は「正規表現でエスケープする必要がないように、よく分からないので、私は助けることができる

希望を、それをチェックアウト 何かコメントをドロップ理解していない場合!私は推測する。このような

+0

preg_matchで小さなサンプルを提供し、2つのそれぞれのvarを抽出する方法(結果配列のインデックス1と2を使用します)を教えてください。私はこれが作者を助けるだろうと思う。 – rahmanisback