دوره مجازی PHP (جلسه 12): توابع php - کار رشته ها و متن ها



visibility  
mode_comment   ۳۸

در این جلسه در مورد مبحث جذاب کار با رشته ها صحبت خواهیم کرد و توابع موجود در PHP برای این امر رو معرفی می کنیم . لیست مباحث مطرح شده در این جلسه عبارتند از :

کار با رشته ها در PHP :

  • دريافت طول يک رشته
  • افزودن اسلش ها به رشته و دليل انجام اينکار
  • تبديل کد حروف به کاراکتر و برعکس
  • شکستن يک رشته به تکه هاي کوچکتر با سايز مشخص
  • نمايش اطلاعات در مورد حرف هاي رشته ي متني
  • محاسبه ي checksum  از رشته ي ورودي
  • crypt : تابعي براي در هم ريزي (hash) رشته
  • md5,md5_file : توابعي براي در هم ريزي (hash) رشته و فايل
  • sha1,sha1_file : توابعي براي در هم ريزي (hash) رشته و فايل
  • جداسازي بخش هاي يک رشته بر اساس يک رشته ي جداکننده
  • چسباندن تمام اعضاي يک آرايه و تبديل آنها به يک رشته
  • تبديل کاراکترهاي html به کاراکترهاي اجرايي
  • برعکس تابع html_entity_decode
  • تبديل کاراکترهاي خاص html به کاراکترهاي اجرايي
  • برعکس تابع htmlspecialchars_decode
  • کوچک کردن اولين حرف رشته
  • حذف فاصله ها (يا حروف خاص) از اطراف رشته ها
  • تبديل کاراکترهاي خط جديد به تگ br در html
  • تجزيه کردن رشته به متغيرها
  • تجزيه کردن يک url و دريافت اجزاي آن
  • چاپ يک رشته به صورت فرمت بندي شده
  • محاسبه ي ميزان شباهت بين دو رشته
  • پر کردن يک رشته تا طول خاص با رشته اي ديگر
  • جايگزين کردن يک رشته ي دلخواه با بخشي از رشته
  • تکرار يک رشته به تعداد دلخواه
  • جا به جا کردن حروف رشته به صورت تصادفي
  • شکستن يه رشته به رشته هاي کوچکتر و قرار دادن در آرايه
  • دريافت اطلاعات مربوط به تعداد تکرار کلمات در رشته
  • يافتن اولين رخداد يک رشته در رشته ي بزرگتر
  • يافتن موقعيت رخداد يک رشته در رشته ي بزرگتر
  • مقايسه ي بين دو رشته
  • تهي کردن رشته از تگ ها html و php
  • دريافت تعداد تکرار يک زيررشته در رشته ي بزرگتر
  • کوچک و بزرگ کردن حروف رشته
  • دريافت يک زير رشته از رشته ي بزرگتر
  • احاطه کردن رشته با رشته اي ديگر در تکه هايي با اندازه ي مشخص
  • فشرده سازي و کاهش سايز رشته ها
history نتیجه ی نهایی نظرسنجی :

با توجه به نتایج نظرسنجی گذشته، روند فعلی انتشار جلسات به همین شکل ادامه پیدا می کند و هر هفته 3 جلسه منتشر می شود .

info توجه

این مطلب یک جلسه از اموزش php حرفه ای می باشد و برای مشاهده آن باید در دوره ثبت نام کنید.

ثبت نام در اموزش php حرفه ای

comment دیدگاه کاربران
na3r replyپاسخ

استاد انگار امشب نشد آپلود کنین.. نه ..؟ من که بجز ارور چیزی عایدم نشده چند ساعته!
این اینترنت بد پیرمون کرد بخدا … مشکل شمام اینترنتتون بود …؟

لقمان آوند

سلام
بله متاسفانه در روزهای اخیر مشکلات اینترنت زیاد بوده .
الان آپلود شده و در دسترس هست .
ممنون

1234567890 replyپاسخ

سلام

من این ویدیو رو نمیتونم دانلود کنم . وقتی لینک دانلود را میزنم اجرا میشه نه دانلود .

ممنون میشم راهنمایی فرمایید

لقمان آوند

سلام
روی لینک دانلود راست کلیک ککنید و Save link as بزنید .

علی امیری replyپاسخ

با سلام ببخشید اگر بخوایم واسه یک div یا هر تگ دیگه ای به صورت خودکار یا random یک class یا ایدی
انتخاب بشه چطور باید این کار رو بکنیم ؟؟؟؟؟؟؟

تشکر !!!

لقمان آوند

آیا این کلاس یا آیدی رو می خواید بدونید چی هست که براش css تعریف کنید یا نه مهم نیست ؟
برای چی این کار رو می خواید انجام بدید؟

علی امیری

ببینید آقای آوند میخوام در هربار رفرش یک کلاس خاص یا آیدی خاص که استایل خاصی بهش داده شده توسط php به صورت رندم به div هام یا تگ های دیگه ام بدم ! مثلا شما در این قسمت اومدید class های خاصی تعریف کردید که فقط تو css بهشون بک گراند دادید و قرار دادن کلاسش استایل اعمال می شه بنده میخوام به صورت خودکار اعمال بشه ! ممنون

لقمان آوند

می تونید اول صفحه وب یه سری رشته رندم ایجاد کنید و از اونها در تعریف سلکتور های css و در تگ های html به عنوان کلاس استفاده کنید .
اگر با مثال دقیقا بگید چی می خواید بهتر می تونم راهنماییتون کنم. همچنان استفاده از کلاس های رندم ابهام داره !

jj20 replyپاسخ

سلام دکتر آوند
تشکر میکنم از آموزشهای خوبتون
یک تابع Similar_text در فایل این جلسه بود که توضیحش در ویدیو نبود ممنون میشم راهنماییم کنید
تا جایی که فهمیدیم تعداد کارکتر های یکسان در دو استرینگ رو بر میگردونه و اگه یه پارامتر سوم هم بهش بدیم به صورت درصدی جواب رو بر میگردونه
در مثال زیر استرینگ اول یک کارکتر رو داره و استرینگ دوم 20 کارکتر و در یک کارکتر مشترک هستند.
تعداد کارکتر های مشابه 1 هست که درست هست
ولی درصد باید 1/20 یا 5 درصد باشه چرا 9.52 رو بر میگردونه؟

لقمان آوند

سلام
گویا برای محاسبه درصد شباهت از الگوریتم خاصی که در مقاله (Programming Classics: Implementing the World’s Best Algorithms by Oliver (ISBN 0-131-00413-1)) مطرح شده، برای این تابع استفاده میشه و باید این مقاله علمی رو بخونید ببینید محاسبه درصد شباهت به چه شکل انجام میشه. درصد شباهت صرفا بر اساس شمارش و تقسیم ساده نیست و بعضی مباحث فنی تر هم در این باره وجود داره که در دروس پردازش متن و داده کاوی در دانشگاه بهش اشاره میشه .

mohamad mohamadi replyپاسخ

salam bebakhshid shoma 1 function tarif kardid be esme funcion e
bad gozashtid $var==false
in n$var az koja omad? $var o aslan nafahmidam lotfan 1 rahnamai konid

لقمان آوند

var پارامتر اول این تابع هست ! از جای خاصی نیومده و همون مقداری هست که به عنوان پارامتر اول به تابع پاس می دیم که چاپش کنه. پارامترهای تابع رو ببینید.

Massud Tarekhi replyپاسخ

با سلام
استاد به نظرتون از توابع رمزنگاری قابل باز گردانی استفاده کنیم (اگه هک بشن می تونن به اطلاعات دسترسی پیدا کنن) یا توابع غیرقابل بازگردانی (که ما به اطلاعات کاربر دسترسی نداریم مثلا پسورد)

لقمان آوند

نوع دوم برای محافظت از پسورد بهتره. اگه هک بشید حداقل اصل پسورد کاربرا لو نمیره. شما هم نیازی به دونستن پسورد کاربرا ندارید و فوقش می تونید اونو تعویض کنید اگه نیاز بود.

امین خلیلی replyپاسخ


سلام در کد بالا چرا به جای اینکه عدد 1 را برگرداند عدد87 را بر میگرداند

لقمان آوند

این تابع به شکل زیر نتیجه رو برمیگردونه :
اگر دو رشته برابر باشند 0 رو بر می گردونه
اگر رشته اول کوچکتر از رشته دوم باشه یه عدد منفی رو بر می گردونه
اگر رشته اول بزرگتر باشه یه عدد مثبت …

امین خلیلی

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

لقمان آوند

سلام
خیر عدد مشخصی نیست. صرفا مثبت و منفی یا 0 بودنش معلومه …

سیروان replyپاسخ

سلام
استاد اندکس چی هست؟؟؟
بعضی کلمات رو اندکسشونو میگیری
مثلا اندکس php
صفر هست
———-
اندکس script
28 هست
ممنون میشم کمک کنید

لقمان آوند

سلام
دقیقا کجا رو می گی؟ چه تابعی ؟
نمونه کد بده لطفا که بدونم در مورد چی صحبت می کنی.
ممنون

سیروان

سلام
جلسه 12 رو ویدیو رو ببینید
از 01:18:35 دقیقه تا
01:23:33
http://rozup.ir/view/1414533/3-31-2016%201-12-45%20AM.png
http://rozup.ir/view/1414540/3-31-2016%201-19-49%20AM.png

اندکس چیست؟
اندکس رو میشه تعریف کنید؟

وحید صالحی

اگر منظورتون از اندکس ,ایندکس (index) هست یعنی فهرست ,شاخص, کلماتی رو هم که معنیش رو نمی دونید می تونید از مترجم گوگل استفاده کنید و معنیش رو پیدا کنید…

سید احسان عظیمی replyپاسخ

استاد هیچوقت نمیشه این همه تابع رو حفظ کرد،چند تا از اصلیاش تو ذهن میمونه و بقیش باید هنگام نیاز استفاده شه.ممنون از زحماتتون

لقمان آوند

طبیعه
همینکه بدونید برای خیلی از کارها تابعش موجود هست و یه کلیتی تو ذهنتون باشه کافیه. خود IDE های قدرتمندی مثل phpStorm در استفاده و یاداوری اونها بهتون کمک می کنن

Pourya Ariyafar replyپاسخ

سلام و خداقوت به استادان عزیز
علت این پیغام رو میشه بهم بگید؟ چون من کد رو درست مینویسم ولی خطا میده

http://bayanbox.ir/view/6052262602338468424/p1.jpg

کیوان علی محمدی

سلام دلیلش رو خود php گفته.

As of PHP 5.1, when called with no arguments, mktime() throws an E_STRICT notice: use the time() function instead.

از نسخه 5.1 php به بعد اگه پارامتر ها رو بهش ارسال نکنی این خطا رو میده و میگه بهتره از همون تابع time استفاده کنید.

Pourya Ariyafar

اها
اقای محمدی منظور شما اینکه اگر قرار باشه از تابع mktime استفاده کنیم بهتره بهش پارامتر وارد کنیم؟ درسته؟
اگر جواب بله هست میشه بگید چی پارامتری ورودی این تابع میگیره؟

لقمان آوند

بله درسته …
اگر پارامتر نمی دید از time استفاده کنید. راحتترید.
اینجا می تونید پارامتر های mktime و ببینید با مثال های خوب …

حمید حسینی replyپاسخ

سلام وخسته نباشید . مشکل از دانلود منیجر منه یا ویدئو هارو نمیشه با دانلود منیحر گرفت . فقط با مرورگر میشه . امکانش نیست همه فایلها رو یکجا بزارین که با دانلود منیجر راحت بزنیم واسه دانلود ؟

لقمان آوند

افزونه idm رو برای کروم نصب کنید. اگر درست نصب باشه با کلیک روی لینک مستقیما تو idm باز و دانلود میشه.

علیرضا سیریزی replyپاسخ

سلام اقای اوند ممنون از وب سایت خوبتون همه چیز دارید الا جوملا من تخصص خوبی تو جوملا دارم چندسال کار می کنم واسه چندین شرکت و از اموزش های شما هم راضیم اگه میشه بگید شرایط همکاری دارید من هم همکاری کنم تو ضمینه اموزش جامع جوملا طراحی قالب جوملا با بوت استرپ یا فریم ورک ها مخصوص و افزونه نویسی جوملا منتظر پاسختون هستم …
ممنون میشم حتی با یه پیامک جوابم رو بدید مرسی شب خوش

لقمان آوند

رزومه جامع کاریتون رو برای بنده ایمیل کنید بررسی میشه

fara php16 replyپاسخ

e($site);
e(str_replace(“7learn”,”Google”,$site)); //not case sensitive
e(str_ireplace(“7learn”,”Google”,$site))//case sensitive

با سلام

استاد کسی اصلا جوابگو نیست فکر کنم همه رفتن تفریح
تو فیلم قسمت 12 فکر کنم مطلب فوق باید توضیحش تغییر کنه صرفا برای ویرایش مطلب در فیلم گفتم…

e($site);
e(str_replace(“7learn”,”Google”,$site)); //case sensitive
e(str_ireplace(“7learn”,”Google”,$site))// not case sensitive

لقمان آوند

بله حرف شما درسته …

Hamid Reza replyپاسخ

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

از false==! استفاده کردید …مگه اون با true=== یکی نیست؟

لقمان آوند

این تابع اگر موقعیت زیر رشته رو پیدا کنه ایندکس بر می گردونه و true بر نمی گردونه که اینجوری مقایسه کنیم. ولی اگر پیدا نکنه false بر می گردونه …

Hamid Reza

بله متوجه شدم.
چیز ساده ای بود ولی من دقت نکردم.
ممنون از پاسخگوییتون

مهدی سالاری replyپاسخ

سلام استاد چند تا سوال داشتم ممنون میشم جوابش رو سریع بدید

موقع کار با تابع strpos کارکتر هایی مثل # پشتیبانی نمیشه … تابع substr هم وقتی وارد میکنید شروع و پایان رو مشخص میکنی کارکتر های نامفهوم رو نشون میده

<?php

$string = "#sd";

$s = substr($string,"#");
if ($s) {
	echo "true";
	
} 

$string = "سلام خوبی";

echo substr($string,3,1);
ارسال نظرات

کاربر گرامی، امکان ارسال نظر و پشتیبانی برای دوره های مجازی فقط برای دانشجویان این دوره امکان پذیر می باشد.