स्ट्रिंग से पहले 5 अक्षर कैसे प्राप्त करें


255

Php का उपयोग करके स्ट्रिंग से पहले 5 अक्षर कैसे प्राप्त करें

$myStr = "HelloWordl";

परिणाम इस तरह होना चाहिए

$result = "Hello";


जवाबों:


549

के लिए एकल-बाइट तार (जैसे US-ASCII, आईएसओ 8859 परिवार, आदि) का उपयोग करें substrऔर के लिए मल्टी-बाइट तार (जैसे UTF-8, UTF-16, आदि) का उपयोग करें mb_substr:

// singlebyte strings
$result = substr($myStr, 0, 5);
// multibyte strings
$result = mb_substr($myStr, 0, 5);

2
धन्यवाद, यह वही है जो मुझे इसके लिए आवश्यक था:if(substr($myURL, 0, 4) == "www.") $myURL = preg_replace('/www./', '', $myURL, 1);
शान्होबन

1
आपको वास्तव में केवल str_replace ('www।', '', $ Url) की आवश्यकता है; अगर मौजूद है तो जाँच नहीं करनी चाहिए।
डग कैसिडी

8
@DougCassidy: क्या होगा अगर $url = "www.subwww.myweirddomainwww.com"? के लिए प्रारंभिक जाँच के बिना substr($url, 0, 4), $urlबर्बाद हो गया है !!
Fr0zenFyr

46

उपयोग करें substr():

$result = substr($myStr, 0, 5);

substr("Häagen-Dazs", 0, 5) == "Häag"- मैं क्या गलत कर रहा हूं?
user187291

12
@stereofrog: आप शायद UTF-8 जैसे मल्टी-बाइट कैरेक्टर एन्कोडिंग का उपयोग कर रहे हैं। उस मामले में उपयोग करें mb_substr
गुम्बो

20

केवल एक वर्ण प्राप्त करने का एक वैकल्पिक तरीका।

$str = 'abcdefghij';

echo $str{5};

7
यह गलत प्रश्न का सही उत्तर है। Downvoted।
मिकमैकुसा

क्योंकि इसे कॉपी पेस्ट करने से ज्यादा आवश्यकता होती है?
रॉबर्ट पाउंडर

नोट: मल्टी-बाइट वर्ण सेट जैसे कि UTF-8 के लिए, इसके बजाय वें वर्ण mb_substr(i, 1)प्राप्त करने के लिए उपयोग करना चाहिए i। @RobertPounder - क्योंकि यह एक से अधिक वर्ण प्राप्त करने का विस्तार नहीं करता है।
टूलमेकरसेव

1
@ कूलमेकरसेव, अगर आप ऐसा कहते हैं; $string = "Häagen-Dazs"; $stringFirstChars = function($amount, $string) { $i=0;$done=false;$return = '';while($done == false) {$return.=$string{$i};if($amount===$i)$done=true;$i++;}return $return;}; var_dump($stringFirstChars(5, $string)); (कॉपी पेस्ट कि phptester.net या हम में)
रॉबर्ट पाउंडर

हाँ मैं जानता हूँ। मैंने व्यक्तिगत रूप से इसे कम नहीं किया; मैंने अभी देखा कि किस तरह से यह सवाल का जवाब नहीं देता है। आपने जो लिखा है - वह एक पूर्ण उत्तर होगा: एक शुरुआत दिखाने वाला कि कैसे php में एक वर्ण को एक से अधिक वर्णों तक पहुँचाने से फैलता है। प्रश्नोत्तर के अतिरिक्त उपयोगी - धन्यवाद।
टूलमेकरसेव

15

आप substrइस तरह फ़ंक्शन का उपयोग कर सकते हैं :

echo substr($myStr, 0, 5);

दूसरा तर्क यह substrहै कि आप किस स्थिति से शुरू करना चाहते हैं और तीसरा तर्क यह है कि आप कितने पात्रों को वापस करना चाहते हैं।


-4

आप बस परिणाम का उपयोग करके अपना परिणाम प्राप्त कर सकते हैं () :

सिंटैक्स पदार्थ (स्ट्रिंग, प्रारंभ, लंबाई)

उदाहरण

<?php
$myStr = "HelloWordl";
echo substr($myStr,0,5);
?>

आउटपुट:

 Hello

16
यह बहुत देर से पोस्ट कोई मूल्य नहीं जोड़ता है और केवल पृष्ठ को फुला देता है क्योंकि यह जो कुछ भी कहता है वह पहले ही कहा गया है (वर्षों पहले)। कृपया जवाब न दें जब तक कि आपके पास जोड़ने के लिए कुछ अनूठा और मूल्यवान न हो। बेकार, देर से पोस्ट को हतोत्साहित करने के लिए इस जवाब को नीचा दिखाया।
मिकमैकुसा

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