خانه » ادوبی فلش » slugify کردن متن در اکشن اسکریپت ۳

slugify کردن متن در اکشن اسکریپت ۳

در این مطلب به slugify پرداخته می شود ، در کل به آماده کردن یک متن برای استفاده در URL و یا به عنوان نام یک فایل توسط حذف کاراکتر هایی که برای این موارد مجاز نمی باشد در استلاح slugify یا slug کردن نامیده می شود.

در ادامه ما توسط عبارات با قاعده (Regular-Expressions) و تابع replace در اکشن اسکریپت ۳ ، اقدام به ساخت تابعی می کنیم که این کار را برای ما انجام دهد.

در ابتدا دو RegExp که دو پترن مورد نیاز ما می باشند را به عنوان ثابت (const) تعریف می کنیم، مورد اول pattern1 مربوطه به انتخاب همه حروف الفبا و علامت دش (-) یا همان خط تیره می باشد که در کد زیر توسط (\ا-ی) تمامی حروف الفبای فارسی نیز پشتیبانی می شود، و مورد دوم pattern2 می باشد که فاصله ها یا همان Space های موجود در متن توسط آن انتخاب می شوند.

در نهایت توسط تابع replace مربوطه به string ها در اکشن اسکریپت ۳ متون اضافی حذف  ،و فاصله ها با علامت (-) جا به جا می شوند و در نهایت متن توسط toLowerCase به حروف کوچک تبدیل می شود و بازگشت داده می شود.

function slugify(string:String):String
{
const pattern1:RegExp = /[^\w-\ا-ی ]/g;// همه حروف به جز فاصله و علامت دش (-) ؛
const pattern2:RegExp = / +/g;// یک یا بیش از یک فاصله
var s:String = string;
return s.replace(pattern1, "").replace(pattern2, "-").toLowerCase();
}
//مثال
trace(slugify("تست  متن با فاصله"));
//تست-متن-با-فاصله

trace(slugify("test  text with space"));
//test-text-with-space

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

function slugify(string:String):String
{
const pattern1:RegExp = /[^\w- ]/g;// همه حروف انگلیسی به جز فاصله و علامت دش (-) ؛
const pattern2:RegExp = / +/g;// یک یا بیش از یک فاصله
var s:String = string;
return s.replace(pattern1, "").replace(pattern2, "-").toLowerCase();
}
//مثال
trace(slugify("تست  متن با فاصله"));//-
trace(slugify("test  text with space"));//test-text-with-space

این تابع در مواردی که می خواهید متون را در آدرس های وب (URL) و یا به عنوان نام فایل مورد استفاده قرار دهید ،کاربرد دارد.

Print Friendly
تگ ها :
پیوند مطلب قبلی
پیوند مطلب بعدی

درباره بهروز پولادرگ

متولد : ۵ مرداد سال ۱۳۶۷ ، حرفه : ادوبی فلش ، برنامه نویسی و طراحی وب ، طراحی گرافیک ، مالتی مدیا ، نرم افزار های تحت وب

ارسال جواب

آدرس رایانامه شما منتشر نخواهد شد.فیلد های اجباری علامت گزاری شده اند *

*

رفتن به بالای صفحه