स्ट्रिंग PHP से ट्रेलिंग स्लैश निकालें


101

क्या /PHP का उपयोग करके स्ट्रिंग से ट्रेलिंग स्लैश को निकालना संभव है ?

जवाबों:


235

यकीन है कि यह है, बस जाँच अगर पिछले चरित्र एक स्लेश है और फिर उस एक nuke।

if(substr($string, -1) == '/') {
    $string = substr($string, 0, -1);
}

एक और (शायद बेहतर) विकल्प का उपयोग किया जाएगा rtrim()- यह एक सभी अनुगामी स्लैश को हटाता है :

$string = rtrim($string, '/');

मैं DIRECTORY_SEPARATORइसके बजाय '/' फ़ाइल पथों का उपयोग करने का सुझाव देता हूं ताकि यह सभी प्लेटफार्मों पर काम करे।
ब्रैड

61

यह ट्रेलिंग स्लैश को हटा देता है:

$str = rtrim($str, '/');

13
ध्यान दें कि यह सभी ट्रेलिंग स्लैश को हटा देता है ।
22

24

लंबे समय से स्वीकृत, हालांकि मेरी संबंधित खोजों में मैं यहां ठोकर खाई, और "पूर्णता" के लिए जोड़ रहा हूं; rtrim()महान है, लेकिन इस तरह से लागू किया गया है:

$string = rtrim($string, '/\\'); //strip both forward and back slashes

यह से पोर्टेबिलिटी सुनिश्चित करता है * nix के लिए विंडोज , जैसा कि मैंने पथ के साथ काम करने के लिए इस सवाल का संबंधित है मान।


1
दिलचस्प! हालांकि मेरे अंत में मैं मार्गों के बारे में यहाँ ठोकर खाई , पथ नहीं
Félix Gagnon-Grenier

1
@ FélixGagnon-Grenier खैर, इसका जवाब पथों की चिंता के साथ कुछ हद तक सही है; ओपी के अलग-अलग कारण हो सकते हैं। चूंकि "मार्ग" आम तौर पर "रास्तों" पर कार्य करते हैं ( किसी प्रकार का ) यह अंत में सभी समान है :-)
दान लैग

यदि ओप वास्तव में एक पथ से एक अनुगामी निर्देशिका विभाजक को हटाना चाहते हैं, तो DIRECTORY_SEPARATORइसके बजाय स्थिर का उपयोग करें '/\\'
जेन्स

@ जेन्स मैं सहमत हूँ, हालाँकि, क्योंकि PHP * निक्स और विंडोज पाथ कॉर्नर मामलों का समर्थन करता है, शायद ही पता चले।
डेन लैग

@ नॉर्थबोर्नडिजाइन: क्या आपके पास एक उदाहरण है? आप विंडोज पर एक * निक्स पथ ट्रिमिंग का मतलब है, और इसके विपरीत, न केवल देशी पथ?
जेन्स

4

rtrim का उपयोग करें rtrim कारण यह सम्मान करता है कि स्ट्रिंग एक अनुगामी स्लैश के साथ समाप्त नहीं होती है


2
सिवाय इसके कि यह वास्तव में ट्रेलिंग स्लैश को नहीं हटाता है, लेकिन एक स्ट्रिंग को जीतता है।
2250 पर user502515

अच्छी तरह से मैं सवाल में पीछे रहने वाले भाग से चूक गया ... मैंने एक गलती की और मैंने विशेष रूप से लिखा कि यह सभी स्लैश को दूर करता है
ब्रीजर

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.