PHP Strings & Patterns
PHP String Manipulation পর্ব-৩
PHP String Manipulation তৃতীয় পর্বে আপনাকে স্বাগতম। এই পর্বে আমরা String এর মধ্যে Finding, Replacing, Reversing, Converting, Repeating, Comparing, একটি নির্দিষ্ট অংশ Display এবং String এর White spaces Remove এর মতো কাজ গুলো কিভাবে করা যায় তার বিস্তারিত জানব। চলুন শুরু করা যাক :
একটি String এর মধ্য থেকে কিভাবে একটা নির্দিষ্ট Text কে খুঁজে বের করবেন?
একটি String এর মধ্য থেকে একটা নির্দিষ্ট Text এর position কে খুঁজে বের করতে হলে আপনাকে PHP String Functions strpos() টি ব্যবহার করতে হবে। চলুন উদাহরণে দেখা যাক :
<?php $mainString="Welcome to W3programmers"; $searchString="W3programmers"; echo "Get Search String Position: "; echo strpos($mainString,$searchString);
Output
Get Search String Position: 11
আপনি চাইলে কোনো word অথবা sub string আছে কিনা তা PHP String Functions strpos() ব্যবহার করে চেক করতে পারেন। নিচের উদাহরণে দেখুন :
<?php $mainString="Welcome to W3programmers"; $searchString="W3programmers"; if (strpos($mainString, 'W3programmers') !== false) { echo 'true'; }
Output
true
https://blog.w3programmers.com/php-course/
একটি String এর মধ্য থেকে কিভাবে একটা নির্দিষ্ট word বা sub string কে খুঁজে বের করে নতুন কিছু দিয়ে replace করবেন?
একটি String এর মধ্য থেকে একটা নির্দিষ্ট word বা sub string কে খুঁজে বের করে নতুন কিছু দিয়ে replace করতে হলে আপনাকে PHP String Functions str_replace() টি ব্যবহার করতে হবে। নিচের উদাহরনে দেখুন :
<?php $mainString="Welcome to W3programmers"; $searchString="W3programmers"; $stringToReplace="the programming world"; echo str_replace($searchString,$stringToReplace,$mainString);
Output
Welcome to the programming world
কিভাবে একটা string কে uppercase থেকে lowercase এবং lowercase থেকে uppercase এ পরিবর্তন করবেন ?
একটা string কে uppercase থেকে lowercase পরিবর্তন করতে হলে আপনাকে strtolower এবং lowercase থেকে uppercase এ পরিবর্তন করতে হলে PHP String Functions strtoupper টি ব্যবহার করতে হবে। নিচের উদাহরণে দেখুন :
<?php $mainString="Welcome to W3programmers"; echo strtolower($mainString); echo "\n"; echo strtoupper($mainString);
Output
welcome to w3programmers WELCOME TO W3PROGRAMMERS
কিভাবে একটা string এর প্রথম লেটার টি uppercase এবং lowercase এ পরিবর্তন করবেন ?
একটা string এর প্রথম লেটার টি uppercase এ পরিবর্তন করতে হলে আপনাকে PHP String Functions ucfirst() এবং lowercase এ পরিবর্তন করতে হলে আপনাকে PHP String Functions lcfirst() এই দুটি ফাঙ্কশন ব্যবহার করতে হবে। নিচের উদাহরণে দেখুন :
<?php $mainString="welcome to w3programmers"; echo ucfirst($mainString); echo "\n"; echo lcfirst($mainString);
Output
Welcome to w3programmers welcome to w3programmers
কিভাবে একটা string এর মধ্যে প্রত্যেকটি ওয়ার্ড এর প্রথম লেটার টি uppercase এ পরিবর্তন করবেন?
একটা string এর মধ্যে প্রত্যেকটি ওয়ার্ড এর প্রথম লেটার টি uppercase এ পরিবর্তন করতে হলে আপনাকে PHP String Functions ucwords() টি ব্যবহার করতে হবে। নিচের উদাহরণে দেখুন :
<?php $mainString="welcome to w3programmers"; echo ucwords($mainString);
Output
Welcome To W3programmers
কিভাবে একটা string কে নির্দিষ্ট সংখ্যক বার repeat করা যাবে?
একটা string কে নির্দিষ্ট সংখ্যক বার repeat করতে হলে আপনাকে PHP String Functions str_repeat() ব্যবহার করতে হবে। নিচের উদাহরণে দেখুন:
<?php echo str_repeat("=",10);
Output
==========
https://blog.w3programmers.com/php-course/
কিভাবে দুটি string এর মধ্যে compare করবেন?
দুটি string এর মধ্যে একটির সাথে আরেকটিকে compare করতে হলে আপনাকে PHP String Functions strcmp() টি ব্যবহার করতে হবে। এক্ষেত্রে ফলাফল যদি <0 হয়, তাহলে বুজতে হবে str1 স্ট্রিং str2 এর থেকে ছোট, আর >0 হয়, তাহলে বুজতে হবে str1 স্ট্রিং str2 এর থেকে বড়। আর ফলাফল 0 হয়, তাহলে বুজতে হবে str1 স্ট্রিং এবং str2 স্ট্রিং দুটি সমান। নিচের উদাহরণে দেখুন:
<?php $str1="w3programmer"; $str2="w3programmer"; switch(strcmp($str1,$str2)){ case 0: echo "Both String are equal"; break; case 1: echo "'$str1' is greater then '$str2'"; break; default: echo "'$str1' is smaller then '$str2'"; break; }
Output
Both String are equal
কিভাবে একটা String এর নির্দিষ্ট অংশ প্রদর্শন করবেন বা কেটে নিবেন ?
কিভাবে একটা String এর নির্দিষ্ট অংশ প্রদর্শন করতে চাইলে আপনাকে PHP String Functions substr() ব্যবহার করতে হবে। নিচের উদাহরণে দেখুন :
<?php echo substr('abcdef', 1); // bcdef echo substr('abcdef', 1, 3); // bcd echo substr('abcdef', 0, 4); // abcd echo substr('abcdef', 0, 8); // abcdef echo substr('abcdef', -1, 1); // f
কিভাবে দুটি string এর মধ্যে similarity check করবেন?
দুটি string এর মধ্যে similarity check করতে হলে আপনাকে PHP String Functions levenshtein() টি ব্যবহার করতে হবে।
<?php // input misspelled word $input = 'carrrot'; // array of words to check against $words = array('apple','pineapple','banana','orange', 'radish','carrot','pea','bean','potato'); // no shortest distance found, yet $shortest = -1; // loop through words to find the closest foreach ($words as $word) { // calculate the distance between the input word, // and the current word $lev = levenshtein($input, $word); // check for an exact match if ($lev == 0) { // closest word is this one (exact match) $closest = $word; $shortest = 0; // break out of the loop; we've found an exact match break; } // if this distance is less than the next found shortest // distance, OR if a next shortest word has not yet been found if ($lev <= $shortest || $shortest < 0) { // set the closest match, and shortest distance $closest = $word; $shortest = $lev; } } echo "Input word: $input\n"; if ($shortest == 0) { echo "Exact match found: $closest\n"; } else { echo "Did you mean: $closest?\n"; } ?>
Output
Input word: carrrot Did you mean: carrot?
https://blog.w3programmers.com/php-course/
দুটি string এর মধ্যে কত ভাগ (%) similarity আছে তা কিভাবে check করবেন।
দুটি string এর মধ্যে কত ভাগ (%) similarity আছে তা check করতে হলে আপনাকে PHP String Functions similar_text() টি ব্যবহার করতে হবে। নিচের উদাহরণে দেখুন:
<?php $sim = similar_text('bafoobar', 'barfoo', $perc); echo "similarity: $sim ($perc %)\n"; $sim = similar_text('barfoo', 'bafoobar', $perc); echo "similarity: $sim ($perc %)\n";
Output
similarity: 5 (71.428571428571 %) similarity: 3 (42.857142857143 %)
একটা String কে কিভাবে Translation করবেন?
একটা String কে Translation করার জন্য আপনি PHP String Functions strtr() এর সাহায্য নিতে পারেন। নিচের উদাহরণ দেখুন:
<?php $trans = array("h" => "-", "hello" => "hi", "hi" => "hello"); echo strtr("hi all, I said hello", $trans); ?>
Output
Hello all, I said hi
আরো একটা উদাহরণ দেখুন :
<?php echo strtr("baab", "ab", "01"),"\n"; ?>
Output
1001
তবে আপনি চাইলে array দিয়ে আরো effective way তে কাজটি করতে পারেন। নিচের উদাহরণে দেখুন :
<?php $strTemplate = "My name is :name, not :name2."; $strParams = [ ':name' => 'Dave', ':name2' => 'Steve', ]; echo strtr($strTemplate, $strParams);
My name is Dave, not Steve.
String এর শুরু এবং শেষ থেকে কিভাবে whitespace বা অন্যান্য special character গুলো remove করবেন?
String এর শুরু এবং শেষ থেকে whitespace বা অন্যান্য special character গুলো remove করতে হলে আপনাকে PHP String Functions trim() টি ব্যবহার করতে হবে। নিচের উদাহরণে দেখুন :
<?php $text = "\t\tThese are a few words :) ... "; $binary = "\x09Example string\x0A"; $hello = "Hello World"; var_dump($text, $binary, $hello); print "\n"; $trimmed = trim($text); var_dump($trimmed); $trimmed = trim($text, " \t."); var_dump($trimmed); $trimmed = trim($hello, "Hdle"); var_dump($trimmed); $trimmed = trim($hello, 'HdWr'); var_dump($trimmed); // trim the ASCII control characters at the beginning and end of $binary // (from 0 to 31 inclusive) $clean = trim($binary, "\x00..\x1F"); var_dump($clean); ?>
Output
string(32) " These are a few words :) ... " string(16) " Example string " string(11) "Hello World" string(28) "These are a few words :) ..." string(24) "These are a few words :)" string(5) "o Wor" string(9) "ello Worl" string(14) "Example string"
তবে String এর left থেকে whitespace বা অন্যান্য special character গুলো remove করতে হলে আপনাকে PHP String Functions ltrim() এবং right থেকে whitespace বা অন্যান্য special character গুলো remove করতে হলে আপনাকে rtrim() functionটি ব্যবহার করতে হবে। নিচের উদাহরণে দেখুন :
ltrim() দিয়ে উদাহরণ :
<?php $text = "\t\tThese are a few words :) ... "; $binary = "\x09Example string\x0A"; $hello = "Hello World"; var_dump($text, $binary, $hello); print "\n"; $trimmed = ltrim($text); var_dump($trimmed); $trimmed = ltrim($text, " \t."); var_dump($trimmed); $trimmed = ltrim($hello, "Hdle"); var_dump($trimmed); // trim the ASCII control characters at the beginning of $binary // (from 0 to 31 inclusive) $clean = ltrim($binary, "\x00..\x1F"); var_dump($clean); ?>
Output
string(32) " These are a few words :) ... " string(16) " Example string " string(11) "Hello World" string(30) "These are a few words :) ... " string(30) "These are a few words :) ... " string(7) "o World" string(15) "Example string "
rtrim() দিয়ে উদাহরণ :
<?php $text = "\t\tThese are a few words :) ... "; $binary = "\x09Example string\x0A"; $hello = "Hello World"; var_dump($text, $binary, $hello); print "\n"; $trimmed = rtrim($text); var_dump($trimmed); $trimmed = rtrim($text, " \t."); var_dump($trimmed); $trimmed = rtrim($hello, "Hdle"); var_dump($trimmed); // trim the ASCII control characters at the end of $binary // (from 0 to 31 inclusive) $clean = rtrim($binary, "\x00..\x1F"); var_dump($clean); ?>
Output
string(32) " These are a few words :) ... " string(16) " Example string " string(11) "Hello World" string(30) " These are a few words :) ..." string(26) " These are a few words :)" string(9) "Hello Wor" string(15) " Example string"
https://blog.w3programmers.com/php-course/
String থেকে কিভাবে html tag গুলো remove করবেন?
string থেকে html tag গুলো remove করতে হলে আপনাকে PHP String Functions strip_tags() টি ব্যবহার করতে হবে। নিচের উদাহরণটি দেখুন :
<?php $text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>'; echo strip_tags($text); echo "\n"; // Allow <p> and <a> echo strip_tags($text, '<p><a>'); ?>
Output
Test paragraph. Other text <p>Test paragraph.</p> <a href="#fragment">Other text</a>
কিভাবে special character গুলোকে html entity তে রূপান্তর করবেন?
special character গুলোকে html entity তে রূপান্তর করার জন্য আপনাকে PHP String Functions htmlspecialchars() টি ব্যবহার করতে হবে। নিচের উদাহরণটি দেখুন :
<?php $new = htmlspecialchars("<a href='test'>Test</a>"); echo $new; ?>
Output
<a href='test'>Test</a>
তবে আপনি চাইলে single quote এবং double quote কেও html entity তে convert করে নিতে পারেন। নিচের উদাহরণটি দেখুন :
<?php $new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES); echo $new; // <a href='test'>Test</a> ?>
এ ছাড়াও PHP String Functions htmlentities function দিয়েও এই কাজটি করতে পারেন। নিচের উদাহরণে দেখুন :
<?php $str = "A 'quote' is <b>bold</b>"; // Outputs: A 'quote' is <b>bold</b> echo htmlentities($str); // Outputs: A 'quote' is <b>bold</b> echo htmlentities($str, ENT_QUOTES); ?>