खोज…


परिचय

जैसा कि आप 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


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow