رفتن به مطلب

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


پست های پیشنهاد شده

سلام

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

به این ترتیب که کاربر می‌یاد از این مجموعه یک فونت با وزن (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

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

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

ممنون

لینک به ارسال

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


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

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

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

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

لینک به ارسال

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

لذا


explode(',', $str))

جواب نمیده

...

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

لینک به ارسال

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

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

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

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

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

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

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

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

لذا


explode(',', $str))

جواب نمیده

...

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

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

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...