- شنبه 2 آبان 1405 ساعت 09:00
- 3.1.9
- کامل شده
- منقضی شده
Typography Class در CodeIgniter 3 برای آمادهسازی متن و تبدیل آن به HTML خواناتر استفاده میشود. این کلاس بهویژه زمانی کاربرد دارد که متن سادهای مانند توضیح محصول یا محتوای مقاله را از دیتابیس میخوانید و میخواهید پاراگرافبندی و برخی قواعد تایپوگرافی روی آن اعمال شود.
متدهای اصلی
متد auto_typography() متن را به پاراگرافها و ساختار HTML تبدیل میکند. format_characters() برخی نشانهها و فاصلهها را استاندارد میکند. nl2br_except_pre() شکست خط را به BR تبدیل میکند، اما محتوای داخل PRE را دستنخورده نگه میدارد. protect_characters() برای محافظت از برخی کاراکترها در جریان تبدیل استفاده میشود.
تنظیم و استفاده
میتوانید Typography Class را بارگذاری کنید و تنظیمات آن را برای استفاده در View اعمال کنید. در محتوای طولانی، خروجی را با قالب سایت و ساختار HTML موجود هماهنگ کنید.
$this->load->library('typography');
$options = array('word_caching' => TRUE);
$text = $this->typography->auto_typography($articleBody, $options);
echo $text;نکته مهم
Typography Class ابزار Sanitization امنیتی نیست. اگر متن از کاربر دریافت شده است، ابتدا سیاست پاکسازی و Escape خروجی را اجرا کنید.
مطالعه مرتبط
برای ادامه مطالعه، HTML، XSS را ببینید.
متدهای Typography Class
| متد یا مفهوم | کاربرد |
|---|---|
auto_typography() | تبدیل متن ساده به پاراگراف و ساختار HTML. |
format_characters() | استانداردسازی برخی نشانهها. |
nl2br_except_pre() | تبدیل شکست خط به BR بیرون از PRE. |
protect_characters() | محافظت از برخی کاراکترها در پردازش. |
نکته | این کلاس ابزار Sanitization امنیتی نیست. |
نحوه استفاده و عیبیابی
در یک Controller ابتدا Library را با Loader بارگذاری کنید، سپس تنظیمات محیطی را به آن بدهید و عملیات را اجرا کنید. نتیجه را از مسیر مشخص دریافت کنید و در صورت شکست، پیام خطا را در Log ثبت کنید. اگر Library به Driver خارجی وابسته است، وجود افزونه PHP یا برنامه موردنیاز را روی سرور بررسی کنید.
در محیط توسعه، مسیر موفق و مسیر خطا را جداگانه آزمایش کنید. ورودی خالی، مقدار نامعتبر، فایل بزرگ، Timeout سرویس خارجی و نبود مجوز نوشتن از سناریوهایی هستند که باید بررسی شوند. منابعی مانند اتصال شبکه و فایلهای موقت را پس از پایان عملیات آزاد کنید.
در بازبینی کد، ترتیب و نتیجه متدهای auto_typography()، format_characters()، nl2br_except_pre()، protect_characters() را بررسی کنید. نام متد بهتنهایی تضمین نمیکند ورودی معتبر یا خروجی امن باشد، بنابراین رفتار هر متد را با تست و مستندات همان نسخه کنترل کنید.