php cURL. preg_match , extract text from xhtml -


मैं bellow html page / link php cURL और preg_match का उपयोग करके मूल्य निकालने का प्रयास कर रहा हूं। असल में मैं इस कोड के लिए 4,550 आउटपुट की उम्मीद कर रहा हूं, लेकिन कुछ कारणों से मुझे

 नोटिस: अपरिभाषित ऑफ़सेट: 1 में सी: \ wamp \ www \ test.php पंक्ति 22 पर 

मुझे लगता है कि पैटर्न सही है क्योंकि अगर मैं एक वैरिएबल में खुद को डालता है और "" यह काम करता है तो भाग लेता है! । इसके अलावा, अगर मैं आउटपुट (प्रतिध्वन $ परिणाम;) यह उचित रूप से फोक्सटन वेबसाइट से पकड़े गए एचटीएमएल को प्रदर्शित करता है, इसलिए मुझे यह समझ नहीं आ रहा है कि पूरी चीज काम क्यों नहीं करती मुझे यह काम करने की आवश्यकता है और मैं भी सराहना करूंगा अगर आप मुझे बताएंगे कि यह सूचना क्यों उत्पन्न हुई और मेरी वर्तमान स्क्रिप्ट काम क्यों नहीं करती।

 $ url = ""; $ Ch = कर्ल_इनिट ($ यूआरएल); 

कर्ल_सेटॉप ($ CH, CURLOPT_HEADER, 0); Curl_setopt ($ CH, CURLOPT_RETURNTRANSFER, 1); $ परिणाम = कर्ल_एक्सएसी ($ CH); curl_exec ($ ch); curl_close ($ ch); $ Result2 = str_replace ('' ',' \ "', $ परिणाम);

$ tagname1 ="); & lt; / script> "; $ Tagname2 = "& lt; / noscript> प्रति माह & lt; / a>";

$ pattern = "/$tagname1(.*?)$tagname2/"; Preg_match ($ पैटर्न, $ परिणाम, $ मैचों); $ मूल्य = $ मैच [1]; print_r ($ मूल्य); ? & Gt;

मैं और अधिक के लिए स्क्रिप्ट को थोड़ा सा लिखता हूं 1 से & lt; noscript & gt; पेज पर। आपको preg_match_all का उपयोग करने की आवश्यकता है, जो कि सभी मैचों को केवल पहली बार बंद न करें।

  $ url = "http://www.foxtons.co.uk/search?bedrooms_from= 0 और property_id = 727,717 "; $ Ch = कर्ल_इनिट ($ यूआरएल); Curl_setopt ($ CH, CURLOPT_HEADER, 0); Curl_setopt ($ CH, CURLOPT_RETURNTRANSFER, 1); $ परिणाम = कर्ल_एक्सएसी ($ CH); curl_exec ($ ch); curl_close ($ ch); Preg_match_all ("/ & lt; noscript> (। *) & Lt; \ / noscript> /", $ परिणाम, $ मैच); print_r ($ से मेल खाता है);  

आउटपुट

  अर्रे ([0] => अर्रे ([0] => और पाउंड; 1,050 [1] => 4,550) [1] = > ऐरे ([0] => और पौंड; 1,050 [1] => 4,550))  

मैंने अपने बॉक्स पर यह कोशिश की और यह काम किया - मुझे बताएं कि यह आपके लिए काम कर रहा है


Comments