آموزش تابع str_replace در php
مقالات برنامه نویسیچگونه از تابع str_replace در برنامه نویسی php استفاده کنیم تا عمل پیدا کردن و جایگزین کردن را انجام دهیم ؟ آموزش کامل تابع جایگزینی در php با مثالهای دقیق و واضح !

در چند مقاله قبلی ، برخی توابع کاربردی در زبان برنامه نویسی php که روند کدنویسی شما را در بخش رشتهها سادهتر میکردند خدمتتان آموزش دادیم اما مسلما این همه داستان نیست و زبان php توابع بسیار بسیار زیادی هم در قسمت رشتهها و هم در سایر قسمتها دارد . در این مقاله نیز یک تابع دیگر از قسمت رشتهها را خدمت شما معرفی خواهیم کرد بنام str_replace !
این تابع نیز همانند سایر توابع قسمت رشتهها ، با str شروع میشود و همانطور که از نام آن پیداست ، برای ما عمل replace یا همان جایگزینی را انجام خواهد داد . شاید در نرم افزارهایی مثل word با قسمت replace کار کرده باشید که کلمه خاصی را توسط دستور find ابتدا پیدا کرده باشید و سپس توسط قسمت replace ، آن را با کلمه جدیدی جایگزین کرده باشید . این تابع نیز دقیقا همین کار را انجام خواهد داد اما هردو کار را همزمان انجام خواهد داد یعنی ابتدا کلمه یا بخش مدنظر را پیدا خواهد کرد و سپس آن را جایگرین خواهد نمود .
روش کار با str_replace
اگر به مخزن php یا همان سایت php.net مراجعه کرده باشید یا اکنون مراجعه کنید ، این تابع را بصورت زیر مشاهده خواهید کرد :
str_replace(
array|string $search,
array|string $replace,
string|array $subject,
int &$count = null
): string|array
در این تابع 3 پارامتر ورودی اصلیترین کار را برای شما انجام خواهند داد . پارامتر اول این تابع مشخص میکند که به دنبال چه چیزی هستیم ؟ یعنی کلمه یا بخشی که ابتدا قصد داریم در متن پیدا کنیم را باید در این بخش وارد کنیم . پارامتر دوم مربوط به کلمه یا بخشی است که قصد داریم اکنون به جای بخش اول جایگزین شود . تصور کنید قصد داریم کلمه منزل را با خانه جایگزین کنیم ، پس پارامتر اول ما کلمه ” منزل ” و کلمه دوم در پارامتر دوم ” خانه ” است .
اما پارامتر سوم ! این عمل پیدا کردن و جایگزینی را در چه محلی انجام خواهد داد ؟ یعنی باید رشته یا آرایه مدنظر را مشخص کنیم تا در داخل آن بخش ، این عمل جایگزینی را انجام دهد . اگر به 3 پارامتر اول دقت کنید ، متوجه خواهید شد که شما برای جایگزینی ، میتوانید هم رشته و هم آرایه به این تابع پاس دهید .
یعنی یک آرایه را بعنوان پارامتر اول که شامل چندین بخش مختلف است وارد تابع str_replace کنید و برای مثال تعیین کنید که قصد دارید تمام حروف a , b , c را به حروف A , B , C تغییر دهید که حروف A , B , C را باید وارد آرایه دوم کنید . سپس بخش سوم را که ممکن است یک متن یا بازهم یک آرایه باشد را بعنوان ورودی و بخش مورد بررسی به تابع معرفی کنید . به مثال زیر که درمورد روش آرایه است توجه کنید :
$phrase = "You should eat fruits, vegetables, and fiber every day.";
$healthy = array("fruits", "vegetables", "fiber");
$yummy = array("pizza", "cola", "ice cream");
$newphrase = str_replace($healthy, $yummy, $phrase);
// Output: You should eat pizza, cola, and ice cream every day
اگر توجه کنید سه کلمه “fruits”, “vegetables”, “fiber” باتوجه به عملکرد این تابع به “pizza”, “cola”, “ice cream” تغییر کردند و این یعنی یک عملکرد بی نقص توسط تابع str_replace ! این تابع اعمال جایگزینی را بصورت نظیر به نظیر انجام میدهد یعنی اندیس 0 آرایه اول با اندیس 0 آرایه دوم جایگرین خواهد شد و به همین ترتیب الی آخر !!!
نکات تکمیلی در مورد str_replace
این تابع دارای یک پارامتر چهار تحت عنوان $count است و همانطور که از اسم آن مشخص است ، مربوط به تعداد است اما تعداد چه چیزی ؟ این پارامتر تعداد جایگزینیهایی که انجام شده است را نمایش خواهد داد . بعنوان مثال به نمونه زیر دقت کنید :
$str = str_replace("ll", "", "good golly miss molly!", $count);
echo $count;
// Output: 2
در این دستور از متغیر داخل تابع str_replace یا همان $count خروجی بگیرید ، یک عدد صحیح به شما نمایش خواهد داد که دقیقا تعداد موارد جایگزین شده را چاپ خواهد کرد . این پارامتر در محل خود بسیار کاربردی و مهم است . تابع str_replace نیز ازجمله توابع بسیار کاربردی زبان برنامه نویسی php است که بعنوان یک کدنویس در این زبان حتما باید با نحوه کار آن و وجود چنین تابعی آشنایی داشته باشید . امیدواریم این محتوای کوتاه برای شما مفید بوده باشد . موفق باشید .