قطعه کد حذف عبارت دلخواه از ابتدا و انتهای متن در PHP

قبلا در «این لینک»، قطعه کدی قرار دادیم که تعداد مشخصی از حروف را بتوان از ابتدا و یا انتهای متن حذف کرد. ولی گاهی نیاز است که به‌جای تعداد، مشخص کنیم که دقیقا چه عبارتی از ابتدا یا انتهای متن حذف شود! بدین صورت که اگر آن عبارت دلخواه در ابتدای متن وجود داشت، حذف خواهد شد.

قطعه کد

دو تابع زیر، برای این کار استفاده می‌شوند. تابع triml برای حذف از ابتدای متن و تابع trimr برای حذف از انتهای متن استفاده می‌شود:

function triml($str, $needle, $caseSensitive = true)
{
  $strPosFunction = $caseSensitive ? "strpos" : "stripos";
  if ($strPosFunction($str, $needle) === 0) {
    $str = substr($str, strlen($needle));
  }
  return $str;
}

function trimr($str, $needle, $caseSensitive = true)
{
  $strPosFunction = $caseSensitive ? "strpos" : "stripos";
  if ($strPosFunction($str, $needle, strlen($str) - strlen($needle)) !== false) {
    $str = substr($str, 0, -strlen($needle));
  }
  return $str;
}

ورودی‌ها:

  • str: متن اصلی
  • needle: عبارتی که می‌خواهیم حذف شود
  • caseSensitive: آیا نسبت به حروف بزرگ و کوچک حساس باشد؟

مثال

در مثال‌های زیر، سعی در حذف FuLL از ابتدای FuLLkade و یا Kade از آنتهای آن شده است:

echo triml('FuLLKade', 'full', true);
// FuLLKade

echo triml('FuLLKade', 'FuLLKade', false);
// Kade

echo triml('FuLLKade', 'full', false);
// Kade

echo trimr('FuLLKade', 'kadE', true);
// FuLLKade

echo trimr('FuLLKade', 'kade', false);
// Kade

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

cp-codfk

نظرات ثبت شده بدون دیدگاه

توضیحات پیشنهادی نظرات اشتراک