پی اچ پی بیش از ۷۵ تابع دستکاری رشته را در بر می گیرد که از عملکردهای متفاوتی پشتیبانی می کند این عملکردها را می توان از تکرار و معکوس کردن رشته ها تا مقایسه و نیز جستجو-و-جایگذاری آنها مرتب کرد.
برخی از این توابع مهم به شرح زیر هستند:
تابع | توضیح |
( )addcslashes |
این تابع رشته ای را بازمی گرداند که قبل از هر کاراکتر مشخص شده در رشته یک بک اسلش آورده شده است. |
( )addslashes | کاراکترهای ویژه ی ECS درون یک رشته با بک اسلش ها |
( )bin2hex |
این تابع برای تبدیل کردن هر رشته ای از کاراکترها به مقادیر هگزا دسیمال به کار می رود. |
( )chop | این تابع فضای خالی یا دیگر کاراکترهایی که در رشته آورده شده است را از انتهای رشته حذف می کند. |
( )chr |
این تابع برای دریافت یک مقدار کاراکتر ویژه ی مقدار ascii به کار می رود. |
( )chunk_split | این تابع همه رشته های داده شده را به بخش های کوچکتر با طول تعریف شده؛ تقسیم می کند. |
( )convert_cyr_string |
این تابع برای دیکد کردن هر رشته ای به کار می رود که uuencode می باشد. |
( )convert_uuencode | این تابع برای کدگذاری هر رشته داده شده با کمک الگوریتم uuncode به کار می رود. |
( )count_chars |
این تابع تمام اطلاعات مربوط به کاراکترهای حاضر در رشته را در اختیار ما قرار می دهد. |
( )crc32 | این تابع برای محاسبه یک CRC 32 بیتی برای رشته داده شده به کار می رود. |
( )crypt |
این تابع یک رشته هش را با استفاده از الگوریتم های متفاوت مانند MD5 و بلوفیش را باز می گرداند. |
( )echo | این تابع برای چاپ کردن یک رشته یا بیشتر به عنوان خروجی به کار می رود. |
( )empty |
بررسی می کند که آیا یک رشته خالی است یا نه |
( )explode | این تابع برای ایجاد آرایه ای از رشته های داده شده به کار می رود. |
( )fprintf |
این تابع برای چاپ رشته داده شده در رشته فرمت شده متفاوتی به کار می رود. |
get_html_translation_table( ) |
این تابع برای دریافت جدول ترجمه مورد استفاده توسط htmlspecialchars ( ) و htmlentities ( ) به کار می رود. |
( )hebrev | این تابع برای تبدیل متن منطقی Hebrew به متن بصری به کار می رود. |
( )hebrevc |
این تابع برای تبدیل متن منطقی Hebrew به متن بصری و نیز تبدیل خط های جدید (\n) به وقفه <br> به کار می رود. |
( )Hex2bin | این تابع برای تبدیل هر نوع رشته مقادیر هگزادسیمال به کاراکترهای ASCII به کار می رود. |
( )html_entity_decode |
واحد های HTML درون یک رشته را دیکد می کند. |
( )htmlentities | HTML درون یک رشته را کد گذاری می کند. |
Htmlspechialchars_decode( ) |
کاراکترهای خاص HTML درون یک رشته را دیکد می کند. |
( )implode | عناصر یک آرایه را به یک رشته تبدیل می کند. |
( )join |
نام مستعار ( )implode |
( )lcfirst | این تابع اولین کاراکتر رشته داده شده با حروف کوچک را باز می گرداند. |
( )levenshtein |
این تابع فاصله لون اشتاین بین دو رشته را برمی گرداند. |
( )localecony | این تابع اطلاعات فرمت بندی مالی و عددی را باز می گرداند. |
( )ltrim |
این تابع فضای خالی یا دیگر کاراکتره را از سمت چپ رشته داده شده محدود می کند. |
( )md5 | الگوریتم خلاصه پیام MD5 به صورت گسترده برای رمزنگاری به کار می رود. |
( )md5_file |
این تابع هش MD5 را برای یک فایل محاسبه می کند. |
( )metaphone | این تابع برای محاسبه ی کلید متافون رشته داده شده به کار می رود. |
( )money_format |
این تابع یک رشته فرمت شده را به عنوان یک رشته ارزی باز میگرداند. |
( )nl_langinfo | این تابع اطلاعات محلی خاصی را باز می گرداند. |
( )nl2br |
وقفه های خط را در یک رشته با عناصر جایگزین می کند. |
( )number_format | این تابع برای فرمت کردن یک عدد با هزاران گروه بندی استفاده می شود. |
( )ord |
این تابع مقدار ASCII اولین کاراکتر هر رشته داده شده را در اختیار قرار می دهد. |
( )parse_str | این تابع برای تجزیه رشته پرس و جو در متغیر |
این تابع خروجی را به عنوان یک رشته یا بیشتر چاپ می کند. | |
( )printf | این تابع برای چاپ خروجی به عنوان یک رشته فرمت شده استفاده شده است. |
quoted_printable_decode( ) |
این تابع تمام رشته های قابل چاپ نقل قول شده را به رشته ۸ بیتی تبدیل می کند. |
quoted_printable_decode( ) |
این تابع یک رشته ۸ بیتی را به رشته قابل چاپ نقل قول شده تبدیل می کند. |
( )quotemeta |
این تابع برای نقل قول کاراکترهای متا استفاده شده است. |
rtrim ( ) |
این تابع فضای خالی یا دیگر کاراکترها را از سمت راست رشته داده شده محدود می کند. |
setlocale( ) |
این تابع برای تنظیم اطلاعات محلی استفاده می شود. |
sha1( ) |
این تابع برای محاسبه هش SHA-1 رشته داده شده به کار می رود. |
sha1_file( ) |
این تابع برای محاسبه هش SHA-1 هر فایل داده شده استفاده می شود. |
similar_text ( ) |
این تابع برای بررسی شباهت بین دو رشته به کار می رود. |
soundex ( ) |
این تابع برای محاسبه کلید soundex رشته به کار می رود. |
Sprintf( ) |
این تابع برای هر نوع رشته فرمت شده را به یک متغیر تغییر می دهد. |
sscanf( ) |
این تابع برای تجزیه هر نوع ورودی یک رشته بر اساس یک فرمت استفاده می شود. |
str_getcsv( ) |
این تابع برای تجزیه کردن یک رشته CSV داده شده به یک آرایه به کار می رود. |
str_irplace( ) |
این تابع برای جایگزین کردن برخی کاراکترهای یک رشته به کار می رود. |
str_pad ( ) |
این تابع برای پدینگ یک رشته به یک طول جدید به کار می رود. |
str_repeat( ) |
یک رشته را به هر تعدادی که مورد نظر شما باشد؛ تکرار می کند. |
str_replace( ) |
بخش هایی از یک رشته را جایگزین می کند. |
str_rot ( ) |
این تابع برای کد گذاری ROT13 روی یک رشته به کار می رود. |
str_shuffle( ) |
این تابع به صورت تصادفی تمامی کاراکترهای رشته داده شده را در هم می ریزد. |
str_split ( ) |
این تابع یک رشته را به یک آرایه تقسیم می کند. |
Str_word_count( ) |
تعداد لغات در یک رشته را محاسبه می کند. |
strcasecmp( ) |
دو رشته را باهم مقایسه می کند. |
strcmp ( ) |
دو رشته را باهم مقایسه می کند. |
strcoll( ) |
دو رشته را بر اساس موقعیت محلی دو رشته مقایسه می کند. |
strcspn( ) |
تعداد کاراکترهای یافت شده در یک رشته را محاسبه می کند. |
strip_tags ( ) |
کد HTML و PHP را از یک رشته حذف می کند. |
stripslashes ( ) |
بک اسلش هایی که قبل از هر نوع کاراکتر مشخص شده از یک رشته قرار داشته باشد، حذف می کند. |
stripos( ) |
این تابع موقعیت اولین حضور یک رشته درون رشته دیگر را به دست می دهد. |
stristr( ) |
این تابع اولین حضور یک رشته درون رشته دیگر را به دست می دهد. |
strlen ( ) |
تعداد کاراکترهای درون یک رشته را محاسبه مب کند. |
strnatcasecmp ( ) |
مقایسه بین دو رشته را با استفاده الگوریتم “ترتیب طبیعی” (بدون حساسیت به کوچک و بزرگ بودن حروف) انجام می دهد. |
strnatcmp ( ) |
مقایسه بین دو رشته با استفاده از الگوریتم ترتیب طبیعی (حساس به کوچک و بزرگ بودن حروف) را انجام می دهد. |
strncasecmp( ) |
اولین کاراکترهای n بین دو رشته را مقایسه می کند (بدون حساسیت به کوچک و بزرگ بودن حروف) |
strncmp ( ) |
اولین کاراکترهای n بین دو رشته را مقایسه می کند (حساس به کوچک و بزرگ بودن حروف) |
strops( ) |
موقعیت اولین حضور از یک رشته درون هر رشته دیگر را به دست می دهد (حساس به کوچک و بزرگ بودن حروف) |
strrchr ( ) |
آخرین حضور یک رشته درون یک رشته دیگر را به دست می دهد. |
strripos ( ) |
موقعیت آخرین حضور یک رشته درون یک رشته دیگر را پیدا می کند ( بدون حساسیت به کوچک و بزرگ بودن حروف) |
strrpos ( ) |
موقعیت مکانی آخرین حضور یک رشته درون رشته دیگر را پیدا می کند ( حساس به بزرگ و کوچک بودن حروف) |
strspn ( ) |
تعداد کاراکترهای یافته شده در یک رشته داده شده را در اختیار ما قرار می دهد که این رشته فقط شامل کاراکترهایی از یک charlist مشخص شده می باشد. |
strstr( ) |
اولین حضور یک رشته را درون رشته دیگر پیدا می کند ( حساس به بزرگ و کوچک بودن حروف) |
strtok ( ) |
یک رشته را به رشته های کوچکتر متفاوت می شکند. |
strtolower ( ) |
یک رشته را به حروف کوچک بر می گرداند. |
strtoupper ( ) |
یک رشته را به حروف بزرگ بر می گرداند. |
strtr ( ) |
برخی از کاراکترهای مشخص شده را به یک رشته ترجمه می کند. |
substr_compare ( ) |
مقایسه بین دو رشته را از یک نقطه آغاز مشخص انجام می دهد. |
substr_count ( ) |
تعداد دفعاتی که یک زیر رشته درون یک رشته اتفاق می افتد به دست می دهد |
substr_replace( ) |
هر نوع بخش مشخص شده از یک رشته را در رشته ای دیگر جایگزین می کند. |
trim ( ) |
این تابع فضاهای خالی بین سطور و فضاهایی که در ادامه یک رشته می آید را حذف می کند. |
ucfirst ( ) |
اولین کاراکتر رشته را به حروف بزرگ در می آید. |
ucwords ( ) |
اولین کاراکتر همه لغات درون رشته را به حروف بزرگ تبدیل می کند. |
vfprintf ( ) |
یک نوع فرمت شده رشته را به شکل خروجی مشخص شده تبدیل می کند. |
vprintf ( ) |
نوع رشته فرمت شده ای را به یک متغیر تبدیل می کند. |
wordwrap ( ) |
یک رشته را در یک خط جدید بعد از تعداد مشخصی از کاراکترها قرار می دهد |
در ادامه مثالی آورده ایم که این اپراتورها را در عمل نشان می دهد:
مثال (( )strrev )
<?php
$val=”nitin”;
if(strrev($val)==$val)
echo “Your name is palindrome”;
else
echo “Your name is not palindrome”;
?>
خروجی کد بالا به صورت زیر است:
Your name is palindrome
(نام شما palindrome می باشد)
مثال بالا؛ متغیر val$ مقدار “nitin” را اتخاذ می کند. در این جا از تابع ( )strrev استفاده کرده ایم تا معکوس یک رشته را در اختیار ما قرار می دهد.
ما تابع ( )strrev را درون شرط if قرار می دهیم. اگر رشته معکوس معادل رشته بیان شده باشد؛ عبارت “Your name is palindrome” چاپ می شود در غیر این صورت عبارت “Your name is not palindrome” چاپ می شود.
مثال (( )str_repeat )
<?php
$val=”welcome “;
echo str_repeat($val,3);
?>
خروجی کد بالا به صورت زیر است: welcome welcome welcome (خوش آمدید خوش آمدید خوش آمدید)
در مثال بالا، متغیر val$ با مقدار “welcome” تعریف شده است. از تابع ( ) str_repeat با دو آرگومان استفاده کرده ایم. اولین آرگومان نام متغیر را بیان می کند؛ دومین آرگومان تعداد دفعاتی را در بر می گیرد که می خواهیم مقدار مورد نظر در خروجی چاپ بشود. خروجی به صورت بالا است. زیرا متغیری که تعریف کرده ایم welcome است و تعداد دفعاتی که باید تکرار شود را ۳ قرار داده ایم.
مثال (( )str_replace )
<?php
$val=”welcome “;
echo str_repeat($val,3);
?>
خروجی کد بالا به صورت زیر است:
w@lcom@
در مثال بالا، متغیر str$ با مقدار “welcome” تعریف شده است. همچنین از تابع ( )str_replace استفاده شده است. این تابع سه آرگومان را اتخاذ می کند: عبارت جستجو، عبارت جایگذاری، و رشته ای که در آن جایگذاری انجام می شود. ما آرگومان های str_replace را به صورت
(“e”,”@”,$str)
قرار داده ایم و خروجی به صورتی که در بالا آوردیم مشاهده می شود. زیرا @ جایگزین e شده است.
مثال
<?php
$str=”hello user how r you”;
echo str_word_count($str);
?>
خروجی کد نویسی بالا به صورت ۵ می باشد.
در این مثال، ما از تابع ( )str_word_count استفاده کرده ایم تا تعداد لغات در یک واژه را شمارش کنیم. متغیر str = “hello user how are you$” بیان شده است. زمانی که تابع را با عبارت echo می آوریم؛ خروجی عدد ۵ را نمایش می دهد؛ (لغاتی که با فاصله از هم جدا شده اند توسط تابع شمارش شده است).
مثال: تابع (( )strcmp )
<?php
$str=”hello”;
$str1=”HELLO”;
echo strcmp($str,$str1);
?>
خروجی ۱ است .
در مثال بالا، دو متغیر به صورت str$ و str1$ به ترتیب با مقادیر (“hello”) و (“HELLO”) تعریف شده اند. اکنون دو رشته را با استفاده از تابع ( )strcmp با هم مقایسه می کنیم. به این ترتیب در خروجی عدد ۱ نمایش داده می شود زیرا هر دو متغیر، دربر دارنده ی مقادیر یکسانی نیستند (یکی از آنها با حروف کوچک و دیگری با حروف بزرگ نوشته می شود).
مثال تابع ( )strlen
<?php
if(isset($_GET[‘sub’]))
{
if(empty($_GET[‘n’]))
{
echo “<font color=’red’>fill your name first</font>”;
}
else
{
if(strlen($_GET[‘n’])<5)
{
echo “<font color=’red’>name must be greater than 5</font>”;
}
else
{
echo “welcome “.$_GET[‘n’];
}
}
}
?>
<form>
Enter your name<input type=”text” name=”n”/>
<input type=”submit” name=”sub” value=”show my name”/>
</form>
مثال تابع ( )strops
<?php
$str=”welcome”;
echo strpos($str,”l”);
?>
خروجی کد بالا : ۲ است.
مثال: تابع ( )nl2br
<?php
$str1=”hello
user
how
are
you”;
echo nl2br($str1);
?>
خروجی کد بالا به شکل زیر است:
مثال تابع ( )substr
<?php
$str=”welcome to the world of php”;
echo substr($str,24,3);
?>
خروجی مثال بالا : php می باشد.
در مثال بالا، تابع ( )substr برای تقسیم کردن رشته به بخشی کوچکتر استفاده شده است. این تابع ۳ آرگومان را اتخاذ می کند: (رشته ی داده شده؛ موقعیتی که تقسیم کردن رشته آغاز می شود و تعداد کاراکترهایی که از نقطه شروع به بعد باید بازگردانده شود).
کاراکتر رشته str$ در این مثال عبارت “welcome to the world of php” را اتخاذ می کند. اکنون آرگومان های تابع به صورت:
substr ($str, 24,3)
قرار داده می شود. زمانی که تابع را درون عبارت echo قرار بدهیم؛ خروجی به صورت php نمایش داده می شود، زیرا اولین کاراکتر بعد از کاراکتر ۲۴ ام رشته اولین p است و تابع ۳ تا کاراکتر را باز می گرداند.