PHP و MySQL برنامه نویسی وب

آموزش ساخت لینک ادامه مطلب برای متن‌های طولانی

مهدی خسروی
نوشته شده توسط مهدی خسروی

حتما برای شما هم پیش آمده که بخواهید متنی طولانی را در صفحه وب خودتان استفاده کنید، ولی این متن طولانی صفحه وب شمارا نازیبا کرده است. یا شاید دیده باشید که در اکثر وبسایت‌ها و وبلاگ‌ها بخشی از متن را نشان میدهند و برای دیدن مطلب کامل برای روی دکمه‌ای به نام “ادامه مطلب” کلیک کنید. در این مقاله و فیلم آموزشی دقیقا میخواهیم نحوه پیاه سازی این قابلیت را با کدهای PHP نمایش بدهیم. برای درک بهتر آموزش فیلم آنرا دانلود کنید، ولی اگر امکان دانلود فیلم برای شما وجود ندارد میتوانید از آموزش متنی استفاده کنید.

dl-btnدانلود این آموزش با کیفیت بالا و کاملا واضح (حجم ۳۷ مگ)dl-btn

ساخت فروشگاه اینترنتی با php

آموزش متنی

نکته مهم : آموزش‌های ویدئویی قطعا بسیار کامل تر از آموزش‌های متنی هستند و اگر قادر به دانلود آموزش ویدئویی هستید، حتما اینکار را انجام دهید، چون در آن بصورت بسیار کامل و با جزئیات همه موارد را توضیح داده‌ایم.

برای اینکار ابتدا باید یک متن داشته باشیم که عملیات تستی خودمان را روی آن متن انجام دهیم. برای اینکار توسط متن تستی که از سایت لورم ایپسوم گرفته ایم استفاده میکنیم و مانند کد زیر آنرا درون یک متغیر با نام string قرار میدهیم:

$string = "لورم ایپسوم متن ساختگی تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است. چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است و برای شرایط فعلی تکنولوژی مورد نیاز و کاربردهای متنوع با هدف بهبود ابزارهای کاربردی می باشد. کتابهای زیادی در شصت و سه درصد گذشته، حال و آینده شناخت فراوان جامعه و متخصصان را می طلبد تا با نرم افزارها شناخت بیشتری را برای طراحان رایانه ای علی الخصوص طراحان خلاقی و فرهنگ پیشرو در زبان فارسی ایجاد کرد. در این صورت می توان امید داشت که تمام و دشواری موجود در ارائه راهکارها و شرایط سخت تایپ به پایان رسد وزمان مورد نیاز شامل حروفچینی دستاوردهای اصلی و جوابگوی سوالات پیوسته اهل دنیای موجود طراحی اساسا مورد استفاده قرار گیرد.";

این قابلیت را میتوان به ۲ صورت پیاه سازی کرد.یک صورت بسیار ساده و یک صورت کامل و کمی پیچیده (البته برای مبتدی‌ها). که به شما قول میدهم با کمی دقت و تمرین از میزان پیچیدگی این کد بشدت کم خواهد شد و شما کاملا به آن تسلط پیدا میکنید. اول بصورت ساده این امکان را پیاده سازی میکنیم.

بیشتر بدانید:
قسمت نهم: ساخت فروشگاه اینترنتی ساده با HTML-CSS-PHP-MySQL

در کد زیر از تابع substr استفاده کرده ایم و کار این تابع این است که یک رشته را میگیرد و آنرا کوتاه میکند. این تابع ۳ پارامتر دریافت میکند:
پارامتر اول : رشته‌ای که میخواهیم کوتاه شود.
پارامتر دوم : این رشته از چندمین کاراکتر کوتاه شود ؟
پارامتر سوم : این رشته چند کاراکتر کوتاه شود ؟
برای مثال در کد زیر ما همان متغیر string بالا را از کاراکتر شماره ۰، یعنی همان ابتدای این رشته به مقدار ۳۰۰ کاراکتر کوتاه میکنیم :

$stringCut = substr($string, 0, 300);

و بعد میتوانیم آنرا چاپ کنیم و در ادامه آن هم یک متن “ادامه مطلب” قرار دهیم و بجای # از لینک مدنظر خودمان استفاده کنیم :

echo $stringCut . "... <a href='#'>ادامه مطلب</a>"

حالا اگر این فایل را در مرورگر باز کنیم مبینیم که فقط ۳۰۰ کاراکتر از متغیر string برای شما نمایش داده میشود (مانند عکس زیر) و اینکار توسط همان تابع substr انجام شده است.

ساخت فروشگاه اینترنتی با php

یک مشکل !

read-more-p1

شاید تا همینجای کار برای شما کاملا خوب باشد و کارتان را راه بیندازد، ولی میخواهیم کمبی بیشتر پیش بریم و کمی کدمان را حرفه‌ای تر بکنیم. ممکن است در این مثال ما کارکتر شماره ۳۰۰ دقیقا وسط یک کلمه باشد و یک کلمه را از وسط قطع کند، که این موضوع زیاد برای کسانی که میخواند حرفه‌ای کدنویسی کنند جالب نیست.برای حل این مشکل میتوانیم از تکه کد زیر استفاده کنیم :

$stringCut = substr($string, 0, 300);
echo substr($stringCut, 0, strrpos($stringCut, ' ')) . "... <a href='#'>ادامه مطلب</a>";

در خط یک کد بالا با استفاده از همان تابع substr متغیر string را به ۳۰۰ کاراکتر محدود و کوتاه کرده‌ایم و در خط دوم دوباره همان مقدار کوتاه شده را کوتاه کردیم ولی اینبار در پارامتر سوم substr گفتیم که تا جایی کوتاه کن که به اولین فاصله برخورد کردی، و همین ترفند ساده برای ما مشکل بریده شدن یک کلمه از وسط را حل میکند :

بیشتر بدانید:
کار با عکس‌ها در PHP و ساخت یک آپلودر بسیار ساده - قسمت دوم

read-more-p2

درباره نویسنده

مهدی خسروی

مهدی خسروی

سلام، مهدی خسروی هستم، نویسنده کتاب «دوبار فکر کن، یک بار کد بزن» و مدرس دوره‌های طراحی و برنامه نویسی زنبیل.
همیشه، بزرگ‌ترین موضوعی که من را اذیت میکرد، نبود دوره‌های آموزشی باکیفیت، پروژه‌محور و حرفه‌ای به زبان فارسی بود. همین موضوع باعث شد «زنبیل» متولد شود.
اگر علاقمند به یادگیری هستید، دوره‌های رایگان و ویژه زنبیل را در آدرس xanbil.com/vip از دست ندهید.

۶ نظر

درج نظر

This site uses Akismet to reduce spam. Learn how your comment data is processed.