هلپرفانکشن String

مجتبی پاکزاد کدایگنایتر 3.1.9 در حال تکمیل رایگان

فایل هلپر String حاوی فانکشن‌هایی است که به شما در کار با استرینگ‌ها کمک می‌کنند.

مهم

توجه داشته باشید که این فانکشن‌ها نه با هدف استفاده برای هر نوع منطق مرتبط با امنیت ساخته شده‌اند و نه مناسب استفاده در این موارد هستند. 

نحوه بارگذاری این هلپرفانکشن

با کد زیر می‌توانید این هلپرفانکشن را لود کنید:

$this->load->helper('string');

فانکشن‌های موجود

با لود این هلپر، فانکشن‌های زیر در دسترس خواهند بود:

random_string([$type = 'alnum'[, $len = 8]])
پارامترها
  • $type نوع استرینگ - نوع تولید استرینگ تصادفی
  • $len نوع عدد صحیح - طول استرینگ خروجی
مقدار بازگشتی یک استرینگ تصادفی
نوع مقدار بازگشتی استرینگ

یک استرینگ تصادفی بر اساس نوع و طولی که مشخص کرده‌اید تولید می‌کند. در موارد ساخت پسورد یا تولید هش‌های رندوم کاربرد دارد.

پارامتر اول نوع استرینگ را مشخص می‌کند، پارامتر دوم نیز طول آن را مشخص می‌کند. برای اولین پارامتر می‌توان از نوع‌های زیر را استفاده کرد:

  • alpha: یک استرینگ شامل حروف کوچک و بزرگ.
  • alnum: استرینگ عددی-حروفی شامل اعداد و حروف کوچک و بزرگ.
  • basic: یک عدد تصادفی بر اساس mt_rand().
  • numeric: استرینگ عددی.
  • nozero: استرینگ عددی بدون عدد صفر.
  • md5: یک عدد تصادفی انکریپت شده بر اساس md5() (خروجی md5 طول 32 کاراکتری دارد).
  • sha1: یک عدد تصادفی انکریپت شده بر اساس sha1() (خروجی sha1 طول 40 کاراکتری دارد).

مثال نحوه استفاده:

echo random_string('alnum', 16);

توجه

استفاده از نوع‌های unique و encrypt منسوخ شده است. این دو تنها اسم‌های مستعاری به ترتیب برای md5 و sha1 هستند.

increment_string($str[, $separator = '_'[, $first = 1]])
پارامترها
  • $str نوع استرینگ - استرینگ ورودی
  • $separator نوع استرینگ - جدا کننده برای افزودن عدد به کپی
  • $first نوع عدد صحیح - عدد شروع
مقدار بازگشتی یک استرینگ افزایش یافته
نوع مقدار بازگشتی استرینگ

با افزودن یک عدد به انتهای استرینگ یا افزایش دادن عدد انتهای استرینگ، آن استرینگ را افزایش می‌دهد. برای مواردی از قبیل ساخت کپی برای فایل یا کپی محتوای دیتابیس که عنوان یا اسلاگ یونیک دارد به کار می‌رود.

مثال نحوه استفاده:

echo increment_string('file', '_'); // "file_1"
echo increment_string('file', '-', 2); // "file-2"
echo increment_string('file_4'); // "file_5"
alternator($args)
پارامترها
  • $args نوع mixed (بیش از یک نوع می‌تواند باشد) - تعدادی آرگومان (تعداد این آرگومان‌ها می‌تواند متغییر باشد)
مقدار بازگشتی استرینگ جایگزین
نوع مقدار بازگشتی mixed (بیش از یک نوع می‌تواند باشد)

وقتی سیکلی (یعنی دنباله‌ای از  وقایع تکراری) در یک حلقه اتفاق می‌افتد، امکان این را فراهم می‌آورد تا تعدادی آیتم به طور متناوب تکرار شوند. مثال:

for ($i = 0; $i < 10; $i++)
{
        echo alternator('string one', 'string two');
}

هر تعداد پارامتر که بخواهید می‌توانید اضافه کنید و در هر بار فراخوانی فانکشن (هر بار تکرار فانکشن در حلقه) آیتم بعدی برگشت داده می‌شود.

for ($i = 0; $i < 10; $i++)
{
        echo alternator('one', 'two', 'three', 'four', 'five');
}

توجه

برای چندین فراخوانی مجزای این فانکشن، کافی است فانکشن را بدون هیچ پارامتری فراخوانی کنید تا به اصطلاح re-initialize یا بازتعریف شود.

repeater($data[, $num = 1])
پارامترها
  • $data نوع استرینگ - ورودی
  • $num نوع عدد صحیح - تعداد دفعات تکرار
مقدار بازگشتی استرینگ تکرارشده
نوع مقدار بازگشتی استرینگ

تعداد مشخصی کپی از داده‌ای که به این فانکشن پاس دهید را تولید می‌کند. مثال:

$string = "\n";
echo repeater($string, 30);

مثال بالا 30 خط جدید تولید می‌کند.

توجه

این فانکشن منسوخ شده است. به جای این فانکشن از فانکشن str_repeat() که از فانکشن‌های نیتیو PHP است استفاده کنید.

reduce_double_slashes($str)
پارامترها
  • $str نوع استرینگ - ورودی
مقدار بازگشتی استرینگی که اسلش‌های آن نرمالیزه شده
نوع مقدار بازگشتی استرینگ

دابل‌اسلش‌های (//) داخل استرینگ را به تک اسلش تبدیل می‌کند، به جز آن‌هایی که در پیشوندهای پروتکل URL (مانند http://) پیدا کند.

مثال:

$string = "http://example.com//index.php";
echo reduce_double_slashes($string); // results in "http://example.com/index.php"
strip_slashes($data)
پارامترها
  • $data نوع mixed (بیش از یک نوع می‌تواند باشد) - استرینگ ورودی یا آرایه‌ای حاوی تعدادی استرینگ
مقدار بازگشتی استرینگی که اسلش‌های آن نرمالیزه شده
نوع مقدار بازگشتی استرینگ

اسلش‌ها را از آرایه‌ای حاوی استرینگ‌ها حذف می‌کند.

مثال:

$str = array(
        'question'  => 'Is your name O\'reilly?',
        'answer' => 'No, my name is O\'connor.'
);

$str = strip_slashes($str);

خروجی مثال بالا، آرایه زیر است:

array(
        'question'  => "Is your name O'reilly?",
        'answer' => "No, my name is O'connor."
);

توجه

به دلایلی تاریخی، این فانکشن مقدار از نوع استرینگ را نیز می‌پذیرد و هندل می‌کند. گرچه این نوع استفاده، این فانکشن را به نام مستعاری برای فانکشن stripslashes() تبدیل کیده است که از فانکشن‌های نیتیو PHP است.

trim_slashes($str)
پارامترها
  • $str نوع استرینگ - ورودی
مقدار بازگشتی استرینگی که اسلش‌های ابتدا و انتهای آن حذف شده
نوع مقدار بازگشتی استرینگ

اسلش‌های ابتدا و انتهای (leading/trailing) استرینگ‌ را حذف می‌کند. مثال:

$string = "/this/that/theother/";
echo trim_slashes($string); // results in this/that/theother

توجه

این فانکشن منسوخ شده است. به جای این فانکشن از فانکشن trim() که از فانکشن‌های نیتیو PHP است استفاده کنید. | | trim($str, ‘/’);

reduce_multiples($str[, $character = ''[, $trim = FALSE]])
پارامترها
  • $str نوع استرینگ - استرینگ ورودی برای جستجو در آن
  • $character نوع استرینگ - کاراکتر برای کم کردن
  • $trim نوع بولین - آیا این کاراکتر از ابتدا و انتهای استرینگ نیز حذف شود
مقدار بازگشتی استرینگی که تکرارهای اضافی کاراکتر مشخص شده از آن حذف شده
نوع مقدار بازگشتی استرینگ

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

$string = "Fred, Bill,, Joe, Jimmy";
$string = reduce_multiples($string,","); //results in "Fred, Bill, Joe, Jimmy"

اگر پارامتر سوم را TRUE قرار دهید کاراکتر مشخص شده را از ابتدا و انتهای استرینگ‌ حذف می‌کند. مثال:

$string = ",Fred, Bill,, Joe, Jimmy,";
$string = reduce_multiples($string, ", ", TRUE); //results in "Fred, Bill, Joe, Jimmy"
quotes_to_entities($str)
پارامترها
  • $str نوع استرینگ - ورودی
مقدار بازگشتی استرینگی که علامت‌های نقل‌قول آن به HTML entities تبدیل شده است
نوع مقدار بازگشتی استرینگ

سینگل و دابل کوت (نقل قول‌های تک و دوتایی) موجود در استرینگ داده شده را به HTML entities متناظرشان تبدیل می‌کند. مثال:

$string = "Joe's \"dinner\"";
$string = quotes_to_entities($string); //results in "Joe's "dinner""
strip_quotes($str)
پارامترها
  • $str نوع استرینگ - ورودی
مقدار بازگشتی استرینگی که علامت‌های نقل قول آن حذف شده
نوع مقدار بازگشتی استرینگ

سینگل و دابل کوت (نقل قول‌های تک و دوتایی) موجود در استرینگ داده شده را حذف می‌کند. مثال

$string = "Joe's \"dinner\"";
$string = strip_quotes($string); //results in "Joes dinner"
منبع
String Helper