جا دادن یک رشته در داخل رشته دیگر

PHP به شما اجازه می دهد که با استفاده از متد ()substr_replace یک رشته را در داخل رشته دیگر قرار دهید. به عنوان مثال اگر رشته ای مانند !Hello World داشته باشید می توانید با استفاده از متد ذکر شده کلمه Happy را در وسط آن قرار دهید و رشته جدیدی مانند !Hello Happy World. ایجاد کنید. کد زیر نحوه استفاده از متد ()substr_replace را نشان می دهد :

<?php
    $Str1 = "Hello World!";
    $Str2 =" Happy";
    echo substr_replace($Str1,$Str2,5,0);
?>
Hello Happy World!

متد ()substr_replace چهار آرگومان قبول می کند، اولین آرگومان رشته اصلی و دومین آرگومان رشته جدید که قرر است در داخل رشته اصلی قرار بگیرد را نشان می دهد. سومین آرگومان اندیس یا مکان انجام جایگذاری رشته جدید است. اندیس اولین کاراکتر یک رشته با صفر و اندیس آخرین کاراکتر یک رشته با یک واحد کمتر از طول رشته نمایش داده می شود. در رشته Hello World! می خواهیم رشته جدید را درست بعد از اولین فضای خالی یعنی جایی که حرف W قرار دارد جای دهیم. به کادر زیر توجه کنید :

H  e  l  l  o     W  o  r  l  d   !
0  1  2  3  4  5  6  7  8  9  10  11

اگر توجه کرده باشید رشته Happy در این مکان (بعد از اولین فضای خالی) قرار گرفته است. و هر چیز بعد از آن به جلو رانده و رشته Hello Happy World! ایجاد می شود.آرگومان چهارم هم بدین معناست که در کاراکترهای بعد از رشته جایگذاری شده (در اینجا World) هیچ کاراکتری کم زیاد نشود.

 

اضافه کردن کاراکتر به سمت چپ یا راست یک رشته با استفاده از متد ()str_pad

با استفاده از متد ()str_pad می توان کاراکتر یا فضاهای خالی را به سمت چپ یا راست رشته ها اضافه کرد. این متد چهار آرگومان می گیرد. اولین آرگومان رشته، دومین آرگومان تعداد کاراکترهایی که قرار است به سمت چپ، راست و یا هر دو سمت رشته اضافه شوند، سومین آرگومان نوع کاراکتری که قرار است اضافه شود و چهارمین آرگومان هم سمت اضافه شدن را نشان می دهد که می تواند یکی از مقادیر STR_PAD_LEFT، STR_PAD_RIGHT و یا STR_PAD_BOTH باشد.

<?php
    $Str1 = "Exapmle";
    echo str_pad($Str1,10,"*",STR_PAD_LEFT);
?>
***Example

همانطور که در مثال بالا مشاهده کردید عدد 10 ارسال شده باعث اضافه شدن سه علامت * در سمت چپ رشته می شود. برای به دست آوردن مقدار این فضاها یا کاراکترهایی که در سمت چپ یا راست یک رشته قرار می گیرند می توان از فرمول (تعداد کاراکتر یا فضای خالی –  طول رشته) استفاده کرد.

مثلا در مثال بالا طول رشته Example برابر 7 می باشد و زمانی که ما عدد 10 را به عنوان آرگومان ارسال می کنیم با استفاده از فرمول 3= 7 – 10 می توان فهمید که چند فضای خالی در سمت چپ رشته قرار می گیرد (3 فضای خالی). اگر مقدار آرگومانی که به متد ()str_pad ارسال می شود از طول رشته کمتر باشد هیچ تاثیری بر رشته نهایی ندارد. عمل STR_PAD_LEFTهم شبیه STR_PAD_RIGHT است.

<?php
    $Str1 = "Exapmle";
    echo str_pad($Str1,10,"*",STR_PAD_RIGHT);
?>
Example***

لطفا اگر نظر، پیشنهاد و یا انتقادی در باره مطلب بالا دارید در قسمت زیر مطرح بفرمایید.