Parse_url () और parse_str () का उपयोग करें ।
(आप किसी भी चीज़ के बारे में regexes का उपयोग कर सकते हैं, लेकिन वे इसमें त्रुटि करना बहुत आसान हैं, इसलिए यदि विशेष रूप से PHP फ़ंक्शन हैं जो आप पूरा करने की कोशिश कर रहे हैं, तो उन का उपयोग करें।)
parse_url एक स्ट्रिंग लेता है और इसे एक सरणी में काटता है जिसमें जानकारी का एक गुच्छा होता है। आप इस सरणी के साथ काम कर सकते हैं, या आप एक आइटम को दूसरे तर्क के रूप में निर्दिष्ट कर सकते हैं। इस मामले में हम क्वेरी में रुचि रखते हैं, जो हैPHP_URL_QUERY ।
अब हमारे पास क्वेरी है, जो है v=C4kxS1ksqtw&feature=relate, लेकिन हम केवल उसके बाद का हिस्सा चाहते हैं v=। इसके लिए हम parse_strमूल रूप से GETस्ट्रिंग की तरह काम करते हैं । यह एक स्ट्रिंग लेता है और स्ट्रिंग में निर्दिष्ट चर बनाता है। इस मामले में $vऔर $featureबनाया गया है। हम केवल में रुचि रखते हैं $v।
सुरक्षित होने के लिए, आप सभी चर को केवल स्टोर नहीं करना चाहते parse_url अपने नामस्थान हैं (मोलसून की टिप्पणी देखें)। इसके बजाय चर को एक सरणी के तत्वों के रूप में संग्रहीत करें, ताकि आपके पास जो चर संग्रहीत हो रहे हैं, उन पर आपका नियंत्रण हो और आप गलती से किसी मौजूदा चर को अधिलेखित न कर सकें।
सब कुछ एक साथ रखना, हमारे पास है:
<?php
$url = "http://www.youtube.com/watch?v=C4kxS1ksqtw&feature=relate";
parse_str( parse_url( $url, PHP_URL_QUERY ), $my_array_of_vars );
echo $my_array_of_vars['v'];
// Output: C4kxS1ksqtw
?>
काम करने का उदाहरण
संपादित करें:
हेहे - धन्यवाद चार्ल्स। इससे मुझे हंसी आई, मैंने पहले कभी ज़्वॉन्स्की बोली नहीं देखी:
Some people, when confronted with a problem, think ‘I know, I’ll use regular expressions.’ Now they have two problems.
- जेमी ज़विंस्की