2009-09-03 17 views
1

私のクライアントは、542個のphpファイルを持っています(それぞれ大したことですが)。それぞれがそれぞれ異なるパラメータを持つiframeを呼び出します。 だから私はこのもう少しefficentを行い、すべてのファイルがデータベースに変換したいが、このために、私は2つのことphpファイル内のリンクでパラメータを取得する方法は?

  1. のiframeのタイトルタグの含ま
  2. 1つのパラメータ(猫を取得する必要があります)

私はiframeの例

<iframe src="http://www.todobariloche.com/shop/xml_galeria1.php?cat=1044&amp;cant=21&amp;ord=MAS_OFERTADOS&amp;pais=MLA" name="nombre_frame" width="500" height="1000" id="nombre_frame" border="0"> </iframe> 

を表示私はちょうどPHPにおけるプリプレグの一致を必要とする誰かが私を助けることができる願っています。

ありがとうございます。

答えて

4

これは単発的な仕事であれば、おそらくgrepと正規表現でハックすることができます。

正しく設定するには、DOMXPathが必要です。

$doc = DOMDocument::loadHTML($page); 
$xp = new DOMXPath($doc); 
$src = $xp->evaluate('string(//iframe/@src)'); 
$title = $xp->evaluate('string(//title)'); 
+0

正規表現から逸脱します。 – GZipp

+0

こんにちは:お返事ありがとうございます。私はそれを正しくやりたいと思います。D 私はそれを試してみるつもりです、そして私はここに戻り、私の結果を教えてください。 – bicho44

1

このような何かが仕事をする必要があります。

if (preg_match("/http:\/\/www\.todobariloche\.com\/shop\/xml_galeria1\.php\?cat=(.*?)&amp;cant=(.*?)&amp;ord=(.*?)&amp;pais=([^\"]*)/i", $pageData, $parameters)) { 
    // $parameters[1] and on now contains the matched patterns. 
} 

.*?は引くパターンがungreedyでなければならないことを示しています。 ([^\"]*)は、src属性の終了後に何もキャプチャしないようにする単なる方法です。

/<title>(.*?)</title>/iは、奇妙なことが起こっていない限り、タイトルのために機能するはずです。

+0

私もこれを試してみよう:D – bicho44

関連する問題