উত্তর:
$newstr = substr_replace($oldstr, $str_to_insert, $pos, 0);
$str = substr($oldstr, 0, $pos) . $str_to_insert . substr($oldstr, $pos);
পুতিনপ্লেস ফাংশনের চেয়ে স্ট্রিংইনসার্ট ফাংশনটি ব্যবহার করুন। আমি পরে ফাংশনটি একটি মাইএসকিএল ক্যোয়ারী পার্স করার জন্য ব্যবহার করছিলাম। আউটপুটটি ঠিক মতো দেখায়, ক্যোয়ারির ফলে একটি ত্রুটি হয়েছিল যা ট্র্যাক ডাউন করতে আমাকে কিছুটা সময় নিয়েছিল। নিম্নলিখিতটি কেবলমাত্র একটি প্যারামিটারের জন্য স্ট্রিংইন্টার ফাংশনের আমার সংস্করণ is
function stringInsert($str,$insertstr,$pos)
{
$str = substr($str, 0, $pos) . $insertstr . substr($str, $pos);
return $str;
}
এর জন্য আমার একটি পুরানো ফাংশন রয়েছে:
function putinplace($string=NULL, $put=NULL, $position=false)
{
$d1=$d2=$i=false;
$d=array(strlen($string), strlen($put));
if($position > $d[0]) $position=$d[0];
for($i=$d[0]; $i >= $position; $i--) $string[$i+$d[1]]=$string[$i];
for($i=0; $i<$d[1]; $i++) $string[$position+$i]=$put[$i];
return $string;
}
// Explanation
$string='My dog dont love postman'; // string
$put="'"; // put ' on position
$position=10; // number of characters (position)
print_r( putinplace($string, $put, $position) ); //RESULT: My dog don't love postman
এটি একটি ছোট শক্তিশালী ফাংশন যা নির্বিঘ্নে তার কাজ সম্পাদন করে।
কীওয়ার্ডটি খুঁজে পাওয়ার পরে এটি আমার সহজ সমাধানটিও পরবর্তী লাইনে পাঠ্য সংযুক্ত করল।
$oldstring = "This is a test\n#FINDME#\nOther text and data.";
function insert ($string, $keyword, $body) {
return substr_replace($string, PHP_EOL . $body, strpos($string, $keyword) + strlen($keyword), 0);
}
echo insert($oldstring, "#FINDME#", "Insert this awesome string below findme!!!");
আউটপুট:
This is a test
#FINDME#
Insert this awesome string below findme!!!
Other text and data.
কেবল কিছু যুক্ত করতে চেয়েছিলাম: টিম কুপারের উত্তরটি আমি খুব দরকারী খুঁজে পেয়েছি, আমি এটি এমন একটি পদ্ধতি তৈরিতে ব্যবহার করেছি যা অবস্থানগুলির অ্যারে গ্রহণ করে এবং সেগুলির উপরে সন্নিবেশ করায় তাই এখানে:
সম্পাদনা: মনে হচ্ছে আমার পুরানো ফাংশনটি ধরে নেওয়া হয়েছে$insertstr
কেবল 1 টি চরিত্র এবং অ্যারে বাছাই করা হয়েছে। এটি নির্বিচারে চরিত্রের দৈর্ঘ্যের জন্য কাজ করে।
function stringInsert($str, $pos, $insertstr) {
if (!is_array($pos)) {
$pos = array($pos);
} else {
asort($pos);
}
$insertionLength = strlen($insertstr);
$offset = 0;
foreach ($pos as $p) {
$str = substr($str, 0, $p + $offset) . $insertstr . substr($str, $p + $offset);
$offset += $insertionLength;
}
return $str;
}
সমাধানের সহজ এবং অন্য উপায়:
function stringInsert($str,$insertstr,$pos)
{
$count_str=strlen($str);
for($i=0;$i<$pos;$i++)
{
$new_str .= $str[$i];
}
$new_str .="$insertstr";
for($i=$pos;$i<$count_str;$i++)
{
$new_str .= $str[$i];
}
return $new_str;
}
function insSubstr($str, $sub, $posStart, $posEnd){
return mb_substr($str, 0, $posStart) . $sub . mb_substr($str, $posEnd + 1);
}
$posEnd
অপরিবর্তিত প্রশ্নটি নির্দিষ্ট অবস্থানের পরে সাবস্ট্রিং aboutোকানো সম্পর্কে ছিল।
অদ্ভুত উত্তর এখানে! আপনি স্প্রিন্টফ [ডকুমেন্টেশনের লিঙ্ক] দিয়ে সহজেই অন্য স্ট্রিংগুলিতে স্ট্রিংগুলি into োকাতে পারেন । ফাংশনটি অত্যন্ত শক্তিশালী এবং একাধিক উপাদান এবং অন্যান্য ডেটা প্রকারগুলিও পরিচালনা করতে পারে।
$color = 'green';
sprintf('I like %s apples.', $color);
আপনি স্ট্রিং দেয়
I like green apples.
'I like apples.'
একটি পরিবর্তনশীল হিসাবে আছে । সুতরাং আমাদের %s
প্রথমে স্ট্রিংটি সন্নিবেশ করতে হবে , যা মূল সমস্যাটিতে ফিরে আসে