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

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***