2011-08-12 28 views
6

Xpath ile bazı HTML'yi ayrıştırmaya çalışıyorum ama almak istediğim linkleri bulmak bazı javascript ile oluşturuluyor ve normal bir anchor kullanmıyor. aşağıdaki gibi javascript:Kazıma PHP için Javascript değişkenleri

<script type="text/javascript"> 
    var Hyperurl="ab5"; 
    var Hyperlink="46439157"; 
</script> 

Şimdi, üzerinden komut dosyası kodunu kapmak için XPath kullandım: döndüren

$xpath->query('//script[contains(.,"Hyper")]'); 

:

var Hyperurl="ab5";var Hyperlink="46439157"; 

Sorum şu. Bu verileri parse_url veya benzeri gibi bir diziye nasıl alabilirim? Ben sadece stringi saklamak değişkenini preg_match_all yapmalı mıyım? Eğer öyleyse, hangi regex kullanayım? Ya da istediğim verileri ayrıştırmak ve almak için daha iyi bir yol var mı?

Şimdiden teşekkürler!

cevap

3

Sen deneyebilirsiniz:

preg_match_all('/"(.*?)"/', $variables, $array); 

Ben senin değişkenler sonra $ dizi [1] ve $ dizi olacağını düşünüyorum [2].

+0

Bir çekicilik gibi çalıştım. Çok teşekkürler. Regex ile gerçekten iyileşmem gerekiyor. Her zaman ona yardıma ihtiyacım var – tr3online

2

Bu

preg_match_all('/var\s+(\w+)\s*=\s*(["\']?)(.*?)\2;/i', $js, $matches); 

$matches[1] değişken adları içerecek kullanabilir ve $matches[3] değerlerini içerir.

İlgili konular