PHP

2011-08-12 5 views
6

पर जावास्क्रिप्ट चर को स्क्रैप करना मैं एक्सपैथ के साथ कुछ एचटीएमएल को पार्स करने की कोशिश कर रहा हूं लेकिन मुझे पता है कि मैं जो लिंक प्राप्त करना चाहता हूं उसे कुछ जावास्क्रिप्ट द्वारा उत्पन्न किया गया है और केवल एक सामान्य एंकर का उपयोग नहीं कर रहा है। जावास्क्रिप्ट इस प्रकार है:PHP

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

अब, मैं XPath का उपयोग किया है के माध्यम से स्क्रिप्ट कोड हड़पने के लिए:

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

कौन देता है:

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

मेरा प्रश्न है। मैं इस डेटा को parse_url या जैसा की तरह सरणी में कैसे प्राप्त करूं? क्या मुझे स्ट्रिंग को संग्रहीत चर को preg_match_all करना चाहिए? यदि हां, तो मैं किस रेगेक्स का उपयोग करूंगा? या क्या मैं चाहता हूं कि डेटा को पार्स और पकड़ने का एक बेहतर तरीका है?

अग्रिम धन्यवाद!

उत्तर

3

आप की कोशिश कर सकते:

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

मुझे लगता है कि अपने चर तो $ सरणी [1] और $ सरणी होगा [2]।

+0

एक आकर्षण की तरह काम किया। बहुत बहुत धन्यवाद। मुझे वास्तव में regex के साथ बेहतर होने की जरूरत है। मुझे हमेशा इसके साथ मदद की ज़रूरत है – tr3online

2

आप का उपयोग इस

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

$matches[1] चर नाम शामिल होंगे सकता है, और $matches[3] उनके मूल्यों शामिल होंगे।

संबंधित मुद्दे