کار با رشته فارسی

پرسیده شده
فعالیت 962 روز پیش
دیده شده 649 بار
0

درود بر شما.

 

سایر تابع ها رو تمرین کردم اما متوجه شدم خیلی ها برای رشته فارسی کار نمی کنه و علامت سوال خروجی می ده. در جستجوی قبل تابع _mb گذاشته بشه هم کار نمی کنه. راه حلی داره؟

 

سپاس از شما

فایل پیوست

Mohsen Ghorbani
Mohsen Ghorbani

23 شهریور 00

1
حذف شده

درود

دقیقا میخواید چیکار کنید که علامت سوال برمیگدونه؟ لطفا مطرح کنید تا بهتون کمک کنم، اگه کدتون هست کدتون رو قرار بدید

فایل پیوست

امیر صالحی

توسط

امیر صالحی

23 شهریور 00

0
حذف شده

یکی از توابع که با کاراکتر فارسی مشکل داره رو می گذارم. منظورم اینه که همه توابع کار با رشته رو برای رشته های فارسی قابل استفاده نیست؟ من یکی یکی این توابع رو امتحان کردم چند تاش وقتی رشته فارسی باشه درست خروجی نمیده اما با کاراکتر انگلیسی درست کار می کنه. https://www.javatpoint.com/php-string-functions

 

$chunkFunc = "این یک تابع دیگر است";
echo $chunkFunc.' : ' .chunk_split($chunkFunc, 4, "....");

خروجی

 

این یک تابع دیگر است : ای....ن �....�ک ....تا....بع.... د�....�گ�....� ا....ست....
فایل پیوست

Mohsen Ghorbani

توسط

Mohsen Ghorbani

23 شهریور 00

1
حذف شده

سلام. 

زبان فارسی جزو زبان های مالتی بایت هست. و باید واسه کار با زبانهایی که utf-۸ هستن از توابع mb_ استفاده کنی. 

توابع بدون mb_ هر کارکترو یک بایت در نظر میگیرن. مثلا strlen رو داخلش یه استرینگ فارسی بذار میبینی طول دوبرابر میده. 

یه ماژول mbstring روی پی اچ پی نصب شده که میتونی توابع mb_ رو ازین لینک ببینی:

https://www.php.net/manual/en/book.mbstring.php

در حال حاضر روی هسته پی اچ پی برای تابع chunk_split تابع mb وجود نداره. و باید خودتون این تابع رو تولید کنید مثلا از تابع mb_str_split میتونید واسه تولید استفاده کنید، البته ارایه برمیگردونه. 

پ. ن: ادیتور سایت نیاز به اصلاح جدی داره. ’

فایل پیوست

محسن موحد

توسط

محسن موحد

23 شهریور 00

حذف شده
توضیحات شما بسیار کامل بود. متوجه شدم. ممنون از شما و همه غزیزان
Mohsen Ghorbani

24 شهریور 00