رشتهها (Strings) در PHP مجموعهای از کاراکترها هستند که برای ذخیره و پردازش متن استفاده میشوند.
PHP دارای مجموعهای قدرتمند از توابع داخلی برای کار با رشتهها است که شامل اتصال، برش، جستجو، جایگزینی، قالببندی و تبدیل متن میشود. در این راهنما، نحوه تعریف و مدیریت رشتهها در PHP را با مثالهای کاربردی بررسی خواهیم کرد.
۱. تعریف رشته در PHP
در PHP، رشتهها میتوانند با استفاده از علامتهای نقلقول تکی ('
) یا نقلقول دوتایی ("
) تعریف شوند.
مثال از تعریف رشتهها
<?php
$string1 = "سلام، خوش آمدید!";
$string2 = 'این یک رشته است.';
echo $string1;
echo "<br>";
echo $string2;
?>
تفاوت بین ""
و ''
در PHP
- در نقلقول دوتایی (
"
)، متغیرهای داخل رشته تفسیر و مقدار آنها جایگزین میشود. - در نقلقول تکی (
'
)، متغیرها بهعنوان متن ساده در نظر گرفته میشوند.
مثال تفاوت " "
و ' '
<?php
$name = "علی";
echo "نام من $name است."; // خروجی: نام من علی است.
echo '<br>';
echo 'نام من $name است.'; // خروجی: نام من $name است.
?>
۲. الحاق (اتصال) رشتهها
برای ترکیب دو یا چند رشته در PHP از عملگر .
(نقطه) استفاده میشود.
مثال از اتصال رشتهها
<?php
$firstName = "علی";
$lastName = "رضایی";
$fullName = $firstName . " " . $lastName;
echo "نام کامل: " . $fullName;
?>
خروجی:
نام کامل: علی رضایی
✅ میتوان از .=
نیز برای الحاق مقدار جدید به یک رشته استفاده کرد:
<?php
$text = "PHP ";
$text .= "یک زبان برنامهنویسی محبوب است.";
echo $text;
?>
خروجی:
PHP یک زبان برنامهنویسی محبوب است.
۳. توابع پرکاربرد برای کار با رشتهها
PHP شامل مجموعهای از توابع داخلی برای پردازش رشتهها است. در ادامه برخی از مهمترین توابع رشتهای را بررسی میکنیم.
۳.۱ اندازه رشته (strlen
)
تابع strlen()
تعداد کاراکترهای یک رشته را برمیگرداند.
<?php
$text = "سلام PHP!";
echo strlen($text); // خروجی: 10
?>
۳.۲ تعداد کلمات یک رشته (str_word_count
)
<?php
$text = "PHP یک زبان محبوب است.";
echo str_word_count($text); // خروجی: 5
?>
۳.۳ معکوس کردن رشته (strrev
)
<?php
echo strrev("PHP"); // خروجی: PHP
?>
۳.۴ جستجو در رشته (strpos
)
تابع strpos()
محل اولین رخداد یک زیررشته را برمیگرداند.
<?php
$text = "PHP یک زبان محبوب است.";
echo strpos($text, "زبان"); // خروجی: 4
?>
نکته: اگر مقدار false
برگردد، یعنی کلمه موردنظر پیدا نشده است.
۳.۵ جایگزینی متن (str_replace
)
تابع str_replace()
یک زیررشته را با مقدار جدید جایگزین میکند.
<?php
$text = "سلام دنیا!";
echo str_replace("دنیا", "PHP", $text);
?>
خروجی:
سلام PHP!
۴. تبدیل حروف بزرگ و کوچک در رشتهها
۴.۱ تبدیل به حروف کوچک (strtolower
)
<?php
echo strtolower("HELLO PHP!"); // خروجی: hello php!
?>
۴.۲ تبدیل به حروف بزرگ (strtoupper
)
<?php
echo strtoupper("hello php!"); // خروجی: HELLO PHP!
?>
۴.۳ تبدیل حرف اول هر کلمه به بزرگ (ucwords
)
<?php
echo ucwords("php یک زبان برنامهنویسی محبوب است.");
// خروجی: Php یک زبان برنامهنویسی محبوب است.
?>
۵. برش رشتهها
۵.۱ استخراج بخشی از رشته (substr
)
<?php
$text = "PHP یک زبان محبوب است.";
echo substr($text, 4, 7); // خروجی: یک زبان
?>
۵.۲ حذف فاصلههای اضافی از ابتدا و انتها (trim
)
<?php
$text = " PHP ";
echo trim($text); // خروجی: "PHP" (بدون فاصلههای اضافه)
?>
۶. بررسی و اعتبارسنجی رشتهها
۶.۱ بررسی شروع یا پایان رشته (str_starts_with
و str_ends_with
)
<?php
$text = "PHP یک زبان برنامهنویسی است.";
echo str_starts_with($text, "PHP") ? "بله" : "خیر"; // خروجی: بله
echo str_ends_with($text, "است.") ? "بله" : "خیر"; // خروجی: بله
?>
✅ این توابع از PHP 8 به بعد در دسترس هستند.
۷. تبدیل رشته به آرایه و بالعکس
۷.۱ تبدیل رشته به آرایه (explode
)
<?php
$text = "قرمز,سبز,آبی";
$colors = explode(",", $text);
print_r($colors);
?>
خروجی:
Array ( [0] => قرمز [1] => سبز [2] => آبی )
۷.۲ تبدیل آرایه به رشته (implode
)
<?php
$colors = array("قرمز", "سبز", "آبی");
echo implode(" - ", $colors);
?>
خروجی:
قرمز - سبز - آبی
۸. تبدیل کدگذاری (mb_convert_encoding
)
اگر بخواهید کدگذاری یک رشته را تغییر دهید:
<?php
$text = "سلام دنیا!";
echo mb_convert_encoding($text, "UTF-8", "Windows-1256");
?>
۹. امنیت و کنترل ورودیهای متنی
برای جلوگیری از حملات XSS و SQL Injection، از htmlspecialchars()
و strip_tags()
استفاده کنید.
۹.۱ جلوگیری از اجرای کدهای HTML (htmlspecialchars
)
<?php
$text = "<script>alert('هک شد!');</script>";
echo htmlspecialchars($text);
?>
خروجی:
<script>alert('هک شد!');</script>
نتیجهگیری
در این راهنما، تعریف، مدیریت، پردازش و امنیت رشتهها در PHP را بررسی کردیم. تسلط بر این توابع به شما کمک میکند تا برنامههای کارآمدتر و ایمنتری ایجاد کنید. 🚀