PHP String Manipulation পর্ব-৩

PHP String
PHP String

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

&lt;a href='test'&gt;Test&lt;/a&gt;

তবে আপনি চাইলে single quote এবং double quote কেও html entity তে convert করে নিতে পারেন। নিচের উদাহরণটি দেখুন :

<?php
$new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
echo $new; // &lt;a href=&#039;test&#039;&gt;Test&lt;/a&gt;
?>

এ ছাড়াও PHP String Functions htmlentities function দিয়েও এই কাজটি করতে পারেন। নিচের উদাহরণে দেখুন :

<?php
$str = "A 'quote' is <b>bold</b>";

// Outputs: A 'quote' is &lt;b&gt;bold&lt;/b&gt;
echo htmlentities($str);

// Outputs: A &#039;quote&#039; is &lt;b&gt;bold&lt;/b&gt;
echo htmlentities($str, ENT_QUOTES);
?>

আমি মাসুদ আলম, বাংলাদেশের ৩৬ তম Zend Certified Engineer । ২০০৯ সালে কম্পিউটার সাইন্স থেকে বেচেলর ডিগ্রী অর্জন করি। দীর্ঘ ১৫ বছর আমি Winux Soft, SSL Wireless, IBCS-PRIMAX, Max Group, Canadian International Development Agency (CIDA), Care Bangladesh, World Vision, Hellen Keller, Amarbebsha Ltd সহ বিভিন্ন দেশি বিদেশী কোম্পানিতে ডেটা সাইন্স, মেশিন লার্নিং, বিগ ডেটা, ওয়েব ডেভেলপমেন্ট এবং সফটওয়্যার ডেভেলপমেন্ট এর উপর বিভিন্ন লিডিং পজিশন এ চাকরি এবং প্রজেক্ট লিড করি। এছাড়াও বাংলাদেশের ১৮৫ জন জেন্ড সার্টিফাইড ইঞ্জিনিয়ার এর মধ্যে ১২০ এরও অধিক ছাত্র আমার হাতে জেন্ড সার্টিফাইড ইঞ্জিনিয়ার হয়েছেন। বর্তমানে w3programmers ট্রেনিং ইনস্টিটিউট এ PHP এর উপর Professional এবং Advance Zend Certified PHP -8.2 Engineering, Laravel Mastering Course with ReactJS, Python Beginning To Advance with Blockchain, Machine Learning and Data Science, Professional WordPress Plugin Development Beginning to Advance কোর্স করাই। আর অবসর সময়ে w3programmers.com এ ওয়েব টেকনোলজি নিয়ে লেখালেখি করি।

Leave a Reply