php - Problem with foreach loop -


मैंने यह कोड बनाया है:

  $ matches = array (); Preg_match_all ('/ "प्रकार": "। +?", /', $ Text, $ matches); विदेशी मुद्रा ($ मैच [0] $ मैच के रूप में) {अगर (isset ($ _GET ['DVD']) & amp; खाली ($ _GET ['DVD'])) {$ dvd = $ _GET ['dvd' ]; अगर (स्ट्रिपोज़ ($ मैच, 'डीवीडी')! == गलत) {$ match = ''; }} Echo $ match; }   

इस कोड में मैं $ टेक्स्ट में "टाइप" शब्द खोजता हूं और यह पूरी लाइन को सरणी में इसके आगे के शब्दों के साथ संग्रहीत करता है। और फिर मैं प्रत्येक के माध्यम से लूप और देखें कि शब्द डीडीडी है यदि ऐसा है, तो इसे हटा दिया जाता है और एक रिक्त पंक्ति प्रदर्शित होती है।


अब मैं निर्माता को मानने के लिए खोज करना चाहता हूं और उसे हर प्रकार के नीचे प्रदर्शित करना चाहता हूं।

परिणामस्वरूप लगता है:

  प्रकार: HDD निर्माता: WD प्रकार: फ्लैश ड्राइव निर्माता: ट्रांसकंड प्रकार: सीडी निर्माता: सोनी   

तो मैंने इसे करने की कोशिश की एक और preg_match_all अभिव्यक्ति डालकर:

  $ anotherMatch = array (); Preg_match_all ('/ "निर्माता": "। +?", /', $ Text, $ एक और मैच);   

और मैं इस के साथ पिछली अग्रेषण अभिव्यक्ति के साथ संयोजन करने की कोशिश की & amp; amp; ऑपरेटर लेकिन यह काम नहीं कर रहा था इसके अलावा मैंने अलग-अलग अभिव्यक्ति की कोशिश की और फिर अंत में एक गूंज के लिए। लेकिन यह भी काम नहीं करता।

क्या आप मुझे बता सकते हैं कि वांछित परिणाम कैसे प्राप्त करें धन्यवाद ...

इस तरह स्रोत इनपुट को देखते हुए:

  " "", "अन्य": "अधिक बकवास", "" "" "": "एचडीडी", "निर्माता": "डब्ल्यूडी", "अन्य": "बकवास", "प्रकार": "फ्लैश ड्राइव", "निर्माता" "" "सीडी", "निर्माता": "सोनी", "अन्य": "फिर भी और भी बकवास",   

और इस तरह से आउटपुट की अपेक्षा:

   

आप इस नियमित अभिव्यक्ति का उपयोग कर सकते हैं:

  टाइप करें: एचडीडी निर्माता: WD प्रकार: फ्लैश ड्राइव निर्माता: ट्रांससेंड प्रकार: सीडी निर्माता: सोनी < / "(प्रकार | निर्माता)": "([^" + +]) ", /   

और इसे इस पर लूप:

  preg_match_all ('/ "(प्रकार | निर्माता)": "([^" + +?) ", /', $ Text, $ matches); विदेशी मुद्रा ($ मैचों [0] के रूप में $ मैच = & gt; $ पंक्ति) {यदि (! (खाली ($ _ GET ['DVD']) और स्ट्रिपो ($ मैचों [2], 'डीवीडी')! == गलत ) { जारी रहना; } $ मिलान [1] [$ मैच] गूंज। ':'। $ मैचों [2] [$ मैच] "\ N"; }   

यद्यपि, मुझे नहीं लगता है कि वह वास्तव में आपके लिए क्या करना चाहते हैं।

Comments