PHP

2010-03-06 13 views
38

के साथ यूआरएल में पिछली स्लैश को हटाने का सबसे अच्छा तरीका मेरे पास कुछ यूआरएल हैं, जैसे www.amazon.com/, www.digg.com या www.microsoft.com/ और यदि यह मौजूद है, तो मैं पीछे की ओर स्लैश को हटाना चाहता हूं, न केवल अंतिम चरित्र। क्या इसके लिए trim या rtrim है?PHP

उत्तर

186

आपने अपने उत्तर में rtrim डाल दिया है, क्यों न केवल इसे देखो?

(rtrim 'राइट ट्रिम के लिए खड़ा है:

$url = rtrim($url,"/"); 

एक तरफ ध्यान दें के रूप में, ऊपर निम्न कार्य करके किसी भी पीएचपी समारोह देखने के लिए ')

+10

स्टैक ओवरफ्लो इतना तेज है :- डी – daniel

+45

एक आदमी को आग दें और वह एक दिन के लिए गर्म है, एक आदमी को आग लगाओ और वह अपने पूरे जीवन के लिए गर्म है। आप मेरा मुद्दा प्राप्त करते हैं। Php.net वेबसाइट भाषा की हत्यारा सुविधाओं में से एक है - इसका उपयोग करें। – Erik

+9

@ डैनियल: हालांकि आपका व्यक्तिगत खोज इंजन नहीं है। अपने प्रश्न का उत्तर देने में * किसी * प्रयास से बचने के लिए आम तौर पर प्राप्त नहीं किया जाता है ... – Joey

-20
$urls="www.amazon.com/ www.digg.com/ www.microsoft.com/"; 
echo preg_replace("/\b\//","",$urls); 
+9

नहीं, इसके लिए रेगेक्स का उपयोग न करें। –

+0

इसके अलावा, आरई उन यूआरएल के लिए बहुत अच्छी तरह विफल हो जाएगा जिनमें बीच में स्लेश भी शामिल हैं। – Joey

+0

इस उत्तर के साथ कुछ भी गलत नहीं है। यह मानता है कि एक सरणी के विपरीत यूआरएल एक स्ट्रिंग में संयोजित हैं। अगर वे एक सरणी में हैं, तो एरिक का जवाब बेहतर है। यदि वे रिक्त स्थान या लाइन ब्रेक से अलग स्ट्रिंग में हैं, तो यह ठीक है। – supertrue

6

सरल और दोनों Windows और यूनिक्स भर में काम करता है:

$url = rtrim($url, '/\\') 
0

मैं यहाँ स्लेश अनुगामी हटाने और ब्राउज़र पुनर्निर्देशित करने के लिए एक रास्ता तलाश आया, मैं एक जवाब है कि मैं करना चाहते हैं के साथ आए हैं किसी को भी मेरे बाद आने के लिए साझा करें:

//remove trailing slash from uri 
if(($_SERVER['REQUEST_URI'] != "/") and preg_match('{/$}',$_SERVER['REQUEST_URI'])) { 
    header ('Location: '.preg_replace('{/$}', '', $_SERVER['REQUEST_URI'])); 
    exit(); 
} 

($_SERVER['REQUEST_URI'] != "/") से बचने जाएगा मेजबान यूआरआई जैसे www.amazon.com/ क्योंकि web browsers always send a trailing slash after a domain name, और preg_match('{/$}',$_SERVER['REQUEST_URI']) पिछले ch के रूप में स्लेश अनुगामी के साथ अन्य सभी यूआरआई से मेल खाएगी aracter। फिर preg_replace('{/$}', '', $_SERVER['REQUEST_URI']) रीडायश करने के लिए header() पर स्लैश और हाथ को हटा देगा। exit() फ़ंक्शन किसी और कोड निष्पादन को रोकने के लिए महत्वपूर्ण है।

संबंधित मुद्दे