2012-05-10 12 views
168

मैं नीचे स्ट्रिंग के अंतिम 7 वर्णों को पकड़ने के बारे में कैसे जाउंगा?मैं PHP स्ट्रिंग के अंतिम 7 वर्ण कैसे प्राप्त कर सकता हूं?

उदाहरण के लिए:

$dynamicstring = "2490slkj409slk5409els"; 
$newstring = some_function($dynamicstring); 
echo "The new string is: " . $newstring; 

कौन सा होगा प्रदर्शन:

The new string is: 5409els 
+9

http://php.net/manual/en/function.substr.php – PeeHaa

+2

[क्या आपने पूछने से पहले खोज की है?] (Https://www.google.com/search?btnG=1&pws=0&q=php+ + अंतिम + अक्षर + स्ट्रिंग और सुरक्षित = सक्रिय + –

+0

मैंने 10 मिनट की अच्छी खोज की। मुझे पता था कि यह सोचा था कि यह आसान तरीका था! – Dave

उत्तर

397

2 तर्क के लिए एक नकारात्मक संख्या के साथ उपयोग substr()

$newstring = substr($dynamicstring, -7); 

php docs से:

string substr (string $string , int $start [, int $length ])

तो शुरुआत नकारात्मक है, लौटे स्ट्रिंग स्ट्रिंग के अंत से start'th चरित्र पर शुरू कर देंगे।

+0

लेकिन यदि $ गतिशील स्ट्रिंग 7 वर्णों से कम है, तो $ newstring खाली हो जाएगा। (कम से कम PHP 5.2.6 पर) –

+0

आप हमेशा स्ट्रेल के साथ एक जांच कर सकते हैं यह देखने के लिए कि वर्णों की संख्या 7 से अधिक या बराबर है। – testing123

60

UMH .. उस तरह?

$newstring = substr($dynamicstring, -7); 
+3

आप तेजी से थे :) – milkovsky

3

स्ट्रिंग प्राप्त करने से पहले जांच करना बेहतर होगा।

$newstring = (strlen($dynamicstring)>7)?substr($dynamicstring, -7):$dynamicstring; 

यदि वर्ण अधिक हैं तो 7 पिछले 7 वर्ण लौटाएं और प्रदान की गई स्ट्रिंग को वापस कर दें।

+0

मुझे लगता है कि संदेश भेजने के लिए अन्य भाग की आवश्यकता है। अमान्य डेटा दर्ज किया गया या .. – Neri

+0

अन्य भाग का मतलब है कि चरित्र 7 से कम है इसलिए इसे –

+1

लौटाएं यह शायद सबसे अच्छा जवाब है, केवल एक चीज जो इसे बेहतर बना सकती है, PHP मैनुअल का संदर्भ है। –

7

मल्टीबाइट वर्ण कोड के साथ काम करने के लिए सुरक्षित परिणाम, हमेशा के लिए mb_substr बजाय substr का उपयोग करें। यूटीएफ -8:

$str='Ne zaman seni düşünsem'; 
    echo substr($str,-7) . ' <strong>is not equal to</strong> ' . mb_substr($str,-7,null,'UTF-8') ; 

सत्य पुन: प्रयास करें;

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