آموزش رایگان PHP

آموزش جامع و کاربردی توابع رشته‌ای در PHP (توابع strlen، str_replace و strpos)

27م تیر 1405 محراب حسن زاده
آموزش جامع و کاربردی توابع رشته‌ای در PHP (توابع strlen، str_replace و strpos)

مقدمه‌ای بر کار با رشته‌ها در PHP

رشته‌ها (Strings) یکی از پرکاربردترین انواع داده در هر زبان برنامه‌نویسی، به‌ویژه در توسعه وب هستند. در PHP، ابزارها و توابع داخلی بسیار قدرتمندی برای کار با رشته‌ها وجود دارد. فرقی نمی‌کند که بخواهید طول یک کلمه عبور را بسنجید، یک کلمه خاص را در یک متن جستجو کنید یا بخشی از یک متن را جایگزین کنید؛ برای تمام این کارها توابع آماده‌ای در اختیار دارید.

در این مقاله آموزشی، به سراغ سه تابع کلیدی و بسیار مهم در PHP می‌رویم: strlen، strpos و str_replace. با درک نحوه کارکرد این توابع، بخش عمده‌ای از نیازهای خود را در پردازش متن برطرف خواهید کرد.

۱. تابع strlen: محاسبه طول رشته

تابع strlen() ساده‌ترین ابزار برای به دست آوردن تعداد کاراکترهای یک رشته (طول رشته) است. این تابع به‌ویژه در فرم‌ها برای اعتبارسنجی طول نام کاربری یا رمز عبور بسیار کاربرد دارد.

سینتکس و ساختار:


strlen(string $string): int

مثال عملی:



$password = "mySecurePass123";
$length = strlen($password);

echo "طول رمز عبور: " . $length; // خروجی: 15

نکته مهم (مخصوص زبان فارسی): تابع strlen طول رشته را بر اساس بایت محاسبه می‌کند. از آنجا که کاراکترهای فارسی (UTF-8) معمولاً ۲ یا ۳ بایتی هستند، استفاده از strlen برای متون فارسی ممکن است خروجی نادرستی به شما بدهد. برای حل این مشکل، همواره باید از تابع mb_strlen() استفاده کنید.



$text = "سلام";
echo strlen($text);    // خروجی ممکن است 8 باشد (هر کاراکتر فارسی 2 بایت)
echo mb_strlen($text); // خروجی صحیح: 4

۲. تابع strpos: یافتن موقعیت یک عبارت در رشته

تابع strpos() برای جستجوی یک عبارت یا کاراکتر خاص درون یک رشته دیگر استفاده می‌شود. این تابع موقعیت اولین حضور (index) عبارت مورد نظر را بر می‌گرداند. لازم به ذکر است که شمارش ایندکس‌ها از عدد صفر (0) شروع می‌شود.

سینتکس و ساختار:


strpos(string $haystack, string $needle, int $offset = 0): int|false

مثال عملی:



$email = "user@example.com";
$position = strpos($email, "@");

if ($position !== false) {
    echo "کاراکتر @ در موقعیت " . $position . " یافت شد."; // خروجی: 4
} else {
    echo "کاراکتر @ پیدا نشد.";
}

نکته حیاتی: از آنجا که اولین کاراکتر رشته ایندکس 0 را دارد، اگر عبارت جستجو شده در ابتدای متن باشد، تابع مقدار 0 را برمی‌گرداند که در شرط‌های ساده PHP به عنوان false ارزیابی می‌شود. بنابراین برای بررسی پیدا شدن یا نشدن عبارت حتماً باید از عملگر همانی !== false استفاده کنید.

۳. تابع str_replace: جایگزینی عبارات در رشته

تابع str_replace() یکی از پرکاربردترین توابع PHP برای جایگزین کردن یک کلمه یا عبارت با عبارتی دیگر در یک متن است. این تابع می‌تواند روی رشته‌های ساده یا حتی آرایه‌ها به صورت همزمان اعمال شود.

سینتکس و ساختار:


str_replace(string|array $search, string|array $replace, string|array $subject, int &$count = null): string|array

مثال عملی ساده:



$text = "من عاشق زبان جاوااسکریپت هستم.";
$new_text = str_replace("جاوااسکریپت", "PHP", $text);

echo $new_text; // خروجی: من عاشق زبان PHP هستم.

مثال پیشرفته با آرایه‌ها:



$bad_words = ["اسپم", "تبلیغات", "بوق"];
$replacement = "***";
$comment = "این یک کامنت بدون اسپم و بدون تبلیغات است.";

$clean_comment = str_replace($bad_words, $replacement, $comment);
echo $clean_comment; 
// خروجی: این یک کامنت بدون *** و بدون *** است.

نتیجه‌گیری و خلاصه عملکرد

درک صحیح از کارکرد توابع رشته‌ای می‌تواند کدنویسی شما را بسیار بهینه‌تر و کوتاه‌تر کند. به یاد داشته باشید:

  • از strlen() (یا ترجیحاً mb_strlen() برای متون فارسی) جهت سنجش طول رشته استفاده کنید.
  • از strpos() جهت جستجو و پیدا کردن جایگاه کاراکترها کمک بگیرید و همواره از مقایسه دقیق !== false استفاده کنید.
  • از str_replace() برای فیلتر کردن کلمات، اصلاح متون و جایگزینی‌های تکی یا گروهی بهره ببرید.

پیشنمایش

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

آموزش ساخت یک گالری تصویر با استفاده از جاوا اسکریپت: راهنمای گام به گام
3م آبان 1403

آموزش ساخت یک گالری تصویر با استفاده از جاوا اسکریپت: راهنمای گام به گام

مطالعه بیشتر
مدیریت خطاها و استفاده از try...catch در جاوا اسکریپت: راهنمای کامل و مثال‌ها
28م مهر 1403

مدیریت خطاها و استفاده از try...catch در جاوا اسکریپت: راهنمای کامل و مثال‌ها

مطالعه بیشتر
راهنمای جامع معرفی PHP؛ تاریخچه، ویژگی‌ها و جایگاه آن در توسعه وب
14م خرداد 1405

راهنمای جامع معرفی PHP؛ تاریخچه، ویژگی‌ها و جایگاه آن در توسعه وب

مطالعه بیشتر
کنترل زمان‌بندی و اندازه‌گیری دقیق انیمیشن‌ها در CSS: آموزش جامع و اصول استاندارد
18م شهریور 1402

کنترل زمان‌بندی و اندازه‌گیری دقیق انیمیشن‌ها در CSS: آموزش جامع و اصول استاندارد

مطالعه بیشتر
استفاده از calc در CSS: محاسبات پویا برای طراحی‌های منعطف
12م آبان 1403

استفاده از calc در CSS: محاسبات پویا برای طراحی‌های منعطف

مطالعه بیشتر
آموزش اصول طراحی الگوهای برنامه‌نویسی (Design Patterns) در جاوا اسکریپت: راهنمای جامع با مثال‌ها
4م آبان 1403

آموزش اصول طراحی الگوهای برنامه‌نویسی (Design Patterns) در جاوا اسکریپت: راهنمای جامع با مثال‌ها

مطالعه بیشتر
مقدمه‌ای بر CSS و نحوه اضافه کردن آن به HTML: راهنمای ساده و کامل برای مبتدیان
4م شهریور 1402

مقدمه‌ای بر CSS و نحوه اضافه کردن آن به HTML: راهنمای ساده و کامل برای مبتدیان

مطالعه بیشتر
آموزش اصول Web APIs و نحوه استفاده از آن‌ها در جاوا اسکریپت: راهنمای کامل با مثال‌ها
1م آبان 1403

آموزش اصول Web APIs و نحوه استفاده از آن‌ها در جاوا اسکریپت: راهنمای کامل با مثال‌ها

مطالعه بیشتر
کاربرد تگ‌های meta، title و keywords در سئو: راهنمای جامع بهینه‌سازی وب‌سایت
25م مرداد 1402

کاربرد تگ‌های meta، title و keywords در سئو: راهنمای جامع بهینه‌سازی وب‌سایت

مطالعه بیشتر
آموزش ایجاد و حذف المان‌های DOM به صورت داینامیک با جاوا اسکریپت: راهنمای جامع و کاربردی
2م آبان 1403

آموزش ایجاد و حذف المان‌های DOM به صورت داینامیک با جاوا اسکریپت: راهنمای جامع و کاربردی

مطالعه بیشتر
آموزش کامل توابع در PHP: از مقدماتی تا پیشرفته با استانداردهای گوگل
16م تیر 1405

آموزش کامل توابع در PHP: از مقدماتی تا پیشرفته با استانداردهای گوگل

مطالعه بیشتر
راهنمای کامل لیست‌ها در HTML: آموزش انواع و اصول سئو
20م مرداد 1402

راهنمای کامل لیست‌ها در HTML: آموزش انواع و اصول سئو

مطالعه بیشتر

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