معرفی توابع رشته در Php

1 Star2 Stars3 Stars4 Stars5 Stars (بدون رای)
Loading...
13 اردیبهشت 1395
558 بازدید

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

این مطلب به مرور زمان به روز خواهد شد و توابع جدیدی به آن اضافه خواهد شد .

نکته مهم: برای تبدیل یک داده به رشته باید قبل از آن از (string) استفاده کنیم، به مثال زیر دقت کنید که ما یک تابع که خروجی عددی میدهد را به رشته تبدیل کردیم

تابع echo

این تابع یک یا چند رشته به عنوان ورودی میگیرد و آن ها را چاپ میکند

تابع print

این تابع نیز دقیقا مانند echo عمل میکند با این تفاوت که این تابع در ورژن های جدید php منسوخ شده است ولی در صورت استفاده همان کاره echo را میکند ، مانند تابع die که آن هم منسوخ شده است اما در صورت استفاده کار exit را میکند

تابع strlen

کاری که این تابع انجام میدهد این است که یک ورودی رشته میگیرد و تعداد کارکتر های آن را به صورت عددی یا int برمیگرداند ، این تابع به صورت return میباشد و باید برای دیدن خروجی آن را echo کرد ، البته اکثر توابع رشته همینطور هستند و باید برای دیدن خروجی آن ها از echo و یا سایر دستورات نمایش خروجی استفاده کرد .

در مثال بالا جوابی که در نهایت برای ما برگردانده خواهد شد عدد 5 خواهد بود

تابع  strtolower

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

خروجی بالا : salam

تابع strtoupper

این تابع دقیقا برعکس strtolower عمل میکند و حروف کوچک را به حروف بزرگ تبدیل میکند

خروجی خط 1 : SALAM

خروجی خط 2 : SALAM

تابع ucfirst

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

خروجی بالا : Salam dostan

تابع ucwords

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

خروجی بالا : Salam Dostane Aziz

تابع str_replace

یکی از توبع کاربردی و مهم Php میباشد ، به عنوان ورودی 3 رشته جدا میگیرد

منطق این تابع این گونه است که در یک رشته بزرگ جستجو میکند و یک رشته خاص را پیدا میکند و آن رشته خاص را یا یک رشته دیگر جایگزین میکند

مثال :

خروجی بالا : dalam

همانگونه که میبینید طبق کد بالا این تابع درون رشته salam جستجو میکنید و به دنبال s میگردد و در نهایت جای آن را با d عوض میکند

پارامتر اول ورودی : رشته ای که میخواهیم عوض شود

پارامتر دوم ورودی : رشته ی جدید

پارامتر سوم : رشته بزرگ که مورد جستجو قرار میگیرد

تابع strpos

از اسمش میتوان حدس زد که چه کاری انجام میدهد ، مخفف string position میباشد و دو ورودی رشته ای دریافت میکند

این تابع ورودی دوم را در ورودی اول جستجو کرده و مکان آن را صورت عددی int به ما برمیگرداند

خروجی کد بالا : 1

نکته ای که در این تابع وجود دارد این هست که ما در این کلمه دو حرف a داریم اما این تابع فقط مکان اولین حرف a که به آن برخورد کرده را به ما برمیگرداند ، در سایر موارد تکرار نیز مشابه خواهد بود

تابع trim

این تابع فواصل اضافی اطراف یک رشته را حذف میکند ، به عبارتی دیگر space ها را پاک میکند !

خروجی بالا : salam بدون هیچ فضای خالی در اطراف

تابع nl2br

این تابع متنی را همانگونه که مینویسیم چاپ میکند و خط های جدید را به هم نمیچسباند در واقع یگ تگ br به ازای هر space ایجاد میکند

یک پارامتر دوم هم به عنوان یک داده بولین میگیرد که مشخص میکند فرمت تگ br به صورت html5 باشد یا xhtml

در ادامه آموزش به معرفی چند نمونه از توابع Cryptography (رمز نگاری) میپردازیم

تابع sha1

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

خروجی بالا : 18ae4dd1e3db1d49a738226169e3b099325c79a0

همانطور که در خروجی میبینید کلمه salam که مثلا پسوورد ما بود کاملا رمزنگاری شده و قابل فهم نمیباشد

تابع md5

یکی دیگر از توابع رمزنگاری همانند تابع قبلی با تفاوت اینکه الگوریتم رمزنگاری این تابع فرق میکند

خروجی بالا : de6838252f95d3b9e803b28df33b4baa

تابع crc32

خروجی این تابع رمزنگاری کاملا عددی میباشد ، ممکنه منفی هم در بیاد عددش !

خروجی خط 1 : -169703389

خروجی خط 2 : 509490337

تابع hash

به معنای مخلوط کردن ، در واقع بهترین و یا میشه گفت امن ترین تابع رمز نگاری این تابع میباشد ، چون از توابع قبلی یعنی sh1 و md5 میتوان یک دیکشنری تهیه کرد و آنها را به راحتی کرک کرد برای همین زیاد امنیت ندارند و دیگر کمتر استقاده میشوند

این تابع دو پارامتر به عنوان ورودی میگیرد ، پارامتر اول نوع رمزنگاری (نوع الگوریتم) و پارامتر دوم رشته ای که میخواهیم به کد تبدیل شود

پارامتر اول در کل دو مقدار میتواند داشته باشد : sha512 و یا sha256

sha512 الگوریتم قوی تری میباشد اما فرایند کدگذاری طولانی تری دارد !

خروجی کدهای بالا چون بسیار طولانی هست بهتره اینجا نوشته نشه

تابع crypt

یک تابع رمزنگاری که مانند md5 و sh1 عمل میکند اما دو ورودی میگیرد و همین ورودی دوم باعث امنیت بیشتر آن میشود ، ورودی دوم آن نمک salt نام دارد ! یعنی یک رشته اضافه دلخواه که میتوانیم به رمزمان اضافه کنیم و امنیت کار را بالا ببرد ، به مثال زیر توجه کنید :

تابع intval

این تابع یک ورودی میگیرد و آن را عددی میکند

خروجی کد بالا 2 میباشد

تابع htmlspecialchars

با این تابع میتوان برخی کارکترهای ویژه را تغییر داد تا از حمله هکر ها و تزریق کدهای جاوااسکریپت و html به درون سایت جلوگیری شود

به عنوان ورودی یک متن میگیرد و کارکتر های زیر را اگر درون متن یا رشته ما قرار داشتند تبدیل میکند :

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

تابع addslashes

این تابع برای اعتبار سنجی هم قبل از کارکتر های ‘ و ” و /

یک \ بک اسلش اضافه میکند ، به عنوان ورودی فقط یک رشته میگیرد

اگر سوالی در مورد این مطلب دارید در قسمت نظرات همین پست ارسال کنید

برچسب ها

مطالب مشابه

پاسخ دهید