php - Parse css and create key value array of class names and background images -


अगर मेरे पास ऐसा सीएसएस है:

  .featured .featured_1 {background-image: यूआरएल ( "http://test.com/image.png"); मार्जिन टॉप: 20px; }  

फिर यह PHP फ़ंक्शन:

  फ़ंक्शन makeArrayOfBackroundImages ($ css) {if (! Preg_match_all ('/। ([Az \ d _] + ) \ S * \ {[{{{}} * url \ ("? ([^ ((^ (+) +)"? \)? / I ', $ css, $ arr) रिटर्न सरणी (); वापसी सरणी_कॉमबिन ($ arr [1], $ arr [2]); }  

कुंजी और पृष्ठभूमि छवि को यूआरएल के रूप में वर्ग नाम के एक सरणी बनाता है।

  सुविधा = & gt; Http://test.com/image.png  

मैं कैसे regex और इस फ़ंक्शन को संशोधित कर सकता हूँ ताकि वह वर्ग के नामों से मेल खाए। इस उदाहरण में दो वर्ग हैं, लेकिन कक्षाओं की संख्या चर होगी और एक या अधिक हो जाएगी इसलिए मुझे सभी वर्ग के नामों के मिलान की आवश्यकता होगी, इसके आधार पर कि कितने हैं। उदाहरण के लिए मैं इस तरह एक सरणी बनाना चाहूंगा ताकि दोनों वर्ग के नाम पृष्ठभूमि की छवि यूआरएल के रूप में कुंजी के रूप में सूचीबद्ध हों क्योंकि दोनों कुंजी के मान वर्गों में किसी भी अन्य सीएसएस गुणों को अनदेखा करना।

  सुविधा = & gt; Http://test.com/image.png featured_1 = & gt; Http://test.com/image.png  

मैं कैसे कर सकता हूं Regex और इस फ़ंक्शन को संशोधित करें ताकि यह वर्ग के नामों से मेल खाता हो?

यह निर्भर करता है।

क्या यह हमेशा एक ऐसा मामला होगा जहां आप किसी एक या दो? क्या कभी तीन, चार या पांच होगा?

यदि यह सिर्फ दो है, तो आप केवल पहले कैप्चर समूह को दोहरा सकते हैं:

 । ([Az \ d_] +) \ s *? (:। \ ([az \ घ _] +) \ s *) \ {[^ {}] * यूआरएल \ ( "([^ ()]?)" \)?  


Comments

Popular posts from this blog

scala - Play Framework - how to bind form to a session field -

c++ - Why does Visual Studio Release build break on non-executing code line -

javascript - parsing json not working -