PHP
किसी URL को कैसे तोड़ा जाए
खोज…
परिचय
जैसा कि आप PHP को कोड करते हैं, तो आपको सबसे अधिक संभावना अपने आप को एक ऐसी स्थिति में मिलेगी जहां आपको एक URL को कई टुकड़ों में तोड़ने की आवश्यकता होती है। स्पष्ट रूप से आपकी आवश्यकताओं के आधार पर इसे करने का एक से अधिक तरीका है। यह लेख आपके लिए उन तरीकों की व्याख्या करेगा ताकि आप पा सकें कि आपके लिए सबसे अच्छा काम क्या है।
Parse_url () का उपयोग करना
parse_url (): यह फ़ंक्शन एक URL को पार्स करता है और एक साहचर्य सरणी देता है जिसमें मौजूद URL के विभिन्न घटकों में से कोई भी होता है।
$url = parse_url('http://example.com/project/controller/action/param1/param2');
Array
(
[scheme] => http
[host] => example.com
[path] => /project/controller/action/param1/param2
)
यदि आपको अलग किए गए मार्ग की आवश्यकता है तो आप विस्फोट का उपयोग कर सकते हैं
$url = parse_url('http://example.com/project/controller/action/param1/param2');
$url['sections'] = explode('/', $url['path']);
Array
(
[scheme] => http
[host] => example.com
[path] => /project/controller/action/param1/param2
[sections] => Array
(
[0] =>
[1] => project
[2] => controller
[3] => action
[4] => param1
[5] => param2
)
)
यदि आपको इस भाग के अंतिम भाग की आवश्यकता है, तो आप इस तरह से अंत का उपयोग कर सकते हैं:
$last = end($url['sections']);
यदि URL में GET संस्करण हैं, तो आप उन्हें पुनः प्राप्त कर सकते हैं
$url = parse_url('http://example.com?var1=value1&var2=value2');
Array
(
[scheme] => http
[host] => example.com
[query] => var1=value1&var2=value2
)
यदि आप क्वेरी संस्करण को तोड़ना चाहते हैं तो आप इस तरह parse_str () का उपयोग कर सकते हैं:
$url = parse_url('http://example.com?var1=value1&var2=value2');
parse_str($url['query'], $parts);
Array
(
[var1] => value1
[var2] => value2
)
विस्फोट का उपयोग करना ()
विस्फोट (): तार की एक सरणी लौटाता है, जिनमें से प्रत्येक स्ट्रिंग स्ट्रिंग का एक विकल्प है जो इसे स्ट्रिंग सीमांकक द्वारा गठित सीमाओं पर विभाजित करके बनाया गया है।
इस समारोह में बहुत सीधे आगे है।
$url = "http://example.com/project/controller/action/param1/param2";
$parts = explode('/', $url);
Array
(
[0] => http:
[1] =>
[2] => example.com
[3] => project
[4] => controller
[5] => action
[6] => param1
[7] => param2
)
आप ऐसा करके URL का अंतिम भाग पुनः प्राप्त कर सकते हैं:
$last = end($parts);
// Output: param2
आप इस तरह एक गणित ऑपरेटर के साथ संयोजन में आकार () का उपयोग करके सरणी के अंदर नेविगेट कर सकते हैं:
echo $parts[sizeof($parts)-2];
// Output: param1
बेसन () का उपयोग करना
basename (): किसी स्ट्रिंग को किसी फ़ाइल या डायरेक्टरी के पथ को देखते हुए, यह फ़ंक्शन अनुगामी नाम घटक को लौटा देगा।
यह फ़ंक्शन केवल URL के अंतिम भाग को लौटाएगा
$url = "http://example.com/project/controller/action/param1/param2";
$parts = basename($url);
// Output: param2
यदि आपके URL में इसके लिए अधिक सामान है और आपको जो चाहिए वह है dir नाम जिसमें वह फ़ाइल है जिसका आप इसे dirname () के साथ उपयोग कर सकते हैं:
$url = "http://example.com/project/controller/action/param1/param2/index.php";
$parts = basename(dirname($url));
// Output: param2