درود بر شما.
سایر تابع ها رو تمرین کردم اما متوجه شدم خیلی ها برای رشته فارسی کار نمی کنه و علامت سوال خروجی می ده. در جستجوی قبل تابع _mb گذاشته بشه هم کار نمی کنه. راه حلی داره؟
سپاس از شما
درود
دقیقا میخواید چیکار کنید که علامت سوال برمیگدونه؟ لطفا مطرح کنید تا بهتون کمک کنم، اگه کدتون هست کدتون رو قرار بدید
یکی از توابع که با کاراکتر فارسی مشکل داره رو می گذارم. منظورم اینه که همه توابع کار با رشته رو برای رشته های فارسی قابل استفاده نیست؟ من یکی یکی این توابع رو امتحان کردم چند تاش وقتی رشته فارسی باشه درست خروجی نمیده اما با کاراکتر انگلیسی درست کار می کنه. https://www.javatpoint.com/php-string-functions
$chunkFunc = "این یک تابع دیگر است";
echo $chunkFunc.' : ' .chunk_split($chunkFunc, 4, "....");
خروجی
این یک تابع دیگر است : ای....ن �....�ک ....تا....بع.... د�....�گ�....� ا....ست....
سلام.
زبان فارسی جزو زبان های مالتی بایت هست. و باید واسه کار با زبانهایی که utf-۸ هستن از توابع mb_ استفاده کنی.
توابع بدون mb_ هر کارکترو یک بایت در نظر میگیرن. مثلا strlen رو داخلش یه استرینگ فارسی بذار میبینی طول دوبرابر میده.
یه ماژول mbstring روی پی اچ پی نصب شده که میتونی توابع mb_ رو ازین لینک ببینی:
https://www.php.net/manual/en/book.mbstring.php
در حال حاضر روی هسته پی اچ پی برای تابع chunk_split تابع mb وجود نداره. و باید خودتون این تابع رو تولید کنید مثلا از تابع mb_str_split میتونید واسه تولید استفاده کنید، البته ارایه برمیگردونه.
پ. ن: ادیتور سایت نیاز به اصلاح جدی داره. ’