مهدی

بررسی تطابق چند value

4 پست در این موضوع قرار دارد

سلام

برای یک قالب امکان انتخاب فونت از مجموعه فونت‌های گوگل رو اضافه کردم

به این ترتیب که کاربر می‌یاد از این مجموعه یک فونت با وزن (weight) مورد نظر خودش رو انتخاب می‌کنه، کاربر می‌تونه این کار رو برای ۵ قسمت از قالب انجام بده

بعد هم در نهایت موارد انتخاب شده به هدر اضافه می‌شن


$site_title_font_family = ...
$site_title_font_weight = ...
$page_title_font_family = ...
$page_title_font_weight = ...
$post_title_font_family = ...
$post_title_font_weight = ...
...


$font_subset = ...
$font_google = 'https://fonts.googleapis.com/css?family=';


$google_font = $font_google . $site_title_font_family . ':' . $site_title_font_weight . '|' . $page_title_font_family . ':' . $page_title_font_weight . '&subset=' . $font_subsets;

تا انتها ...

اما مشکل اینجاست که وقتی کاربر بخواد فونت هر پنج قسمت رو تغییر بده و از قضا هر پنج قسمت رو هم یک فونت انتخاب نتیجه این شکلی میشه


https://fonts.googleapis.com/css?family=Open+Sans|Open+Sans|Open+Sans|Open+Sans

اگر قرار باشه دونه دونه هر کدوم از فونت‌های انتخاب شده رو با دیگری برای یکی بدون بررسی کرد، کار خیلی طولانی و ... میشه

دوستان لطف کنن در این مورد من رو راهنمایی کنن (چطور باید از مطابق بودن فونت‌ها مطلع شد و از تکرار اون‌ها جلوگیری کرد)

ممنون

0

به اشتراک گذاری این پست


لینک به پست

از کد زیر استفاده کن


$str = implode(',',array_unique(explode(',', $str)));

ابتدا رشته ی فونتت در یک آرایه با اعضای یکتا قرار میگیره (داخلی ترین تابع یعنی explode)

بعد با تابع implode دوباره به هم متصل میشه

در آخر هم در خود رشته قرار میگیره

1

به اشتراک گذاری این پست


لینک به پست

مجموعه فونت‌ها خودشون به صورت آرایه هستند

لذا


explode(',', $str))

جواب نمیده

...

من متوجه روش‌تون نشدم، با این کار قرار چه اتفاقی بیافته؟

0

به اشتراک گذاری این پست


لینک به پست

دوست عزیز مگه شما چند تا متغیر نداری که ممکنه بعضی هاشون متنشون تکراری باشه !

1- پس باید ابتدا همه رو پشت سرهم قرار بدی و به یک رشته تبدیلشون کنی

2- کاراکتر جداکننده در مثال من , هست

3- با تابع explode رشته رو تفکیک می کنیم و با تابع array_unique خانه های تکراری رو حذف می کنیم

4- بعدش آرایه حاصل رو با implode دوباره به رشته تبدیل می کنیم

حالا اینکه شما به صورت پیش فرض به جای رشته ، آرایه دارید که کار راحتتره

از این ساده تر بلد نیستم

مجموعه فونت‌ها خودشون به صورت آرایه هستند

لذا


explode(',', $str))

جواب نمیده

...

من متوجه روش‌تون نشدم، با این کار قرار چه اتفاقی بیافته؟

شما این قسمت رو رد کنید یعنی همون آرایه تون رو به تابع array_unique پای بدین

1

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری