۴ ماه پیش(به روز شده در ۴ ماه پیش) پی اچ پی(PHP) ۰

تابع is_unicode در php نسخه 6 به بعد پشتیبانی میشود و برای اینکه برای نسخه های قبلتر داشته باشیم از کد زیر استفاده میشود...

۳ سال پیش(به روز شده در ۳ سال پیش) پی اچ پی(PHP)(کد) ۴

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

echo preg_replace('/#(\w+)/si', '<a href="#">#$1</a>', 'English #Text for test'); // out = English #Text for test

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

echo preg_replace('/#(\w+)/si', '<a href="#">#$1</a>', 'متن #فارسی برای تست'); // out = متن #��ارسی برای تست

جهت رفع این مشکل کد رجکس بالا را اصلاح می کنیم تا برای سایر زبانها نیز کاربرد داشته باشد. برای این منظور در آخر عبارت مقدار u برای تعریف رشته UTF-8 و مقدار pL نیز برای معرفی کاراکترهای سایر بکار گرفته می شود. البته این امر بنوعی مرتبط با یونیکدهاست. کد اصلاح شده:

echo preg_replace('/#(\pL+)/ui', '<a href="#">#$1</a>', 'متن #فارسی برای تست'); // out = متن #فارسی برای تست