سؤال

وأنا إدراج حقل الاسم المستعار لبلدي ديسيبل يسمى $ الاسم المستعار كيف كود I (أنا باستخدام PHP لإدراج الخلية) لإزالة كافة المسافات واستبدال الفضاء مع "-" (في محاولة لتغييره إلى "تنسيق weburl" أي إزالة المسافات)

والشكر

هل كانت مفيدة؟

المحلول

إليك طريقة استخدامها إلى سلاسل santize لعناوين المؤسسة:

    $slug = trim(strtolower($value));
    $slug = preg_replace('/[^a-z0-9 _-]/', '', $slug);
    return preg_replace('/\s+/', '-', $slug);

لا تتردد في إضافة الأحرف المسموح إضافية إلى التعبير العادي الأول.

تجدر الإشارة إلى أن هذه ليست Unicode أو حتى كامل ISO-8891 آمنة، حسنا، هو، لكنه سوف إسقاط أي شيء غير a-z. وهذا هو، قد تحتاج إلى تطبيع سلسلة مسبقا (أي استبدال أحرف معلمة مع إغلاق ASCII ما يعادلها). وهناك عدد من الأسئلة والأجوبة التعامل مع هذه التي رأيتها من قبل، ولكن أنا لا يمكن العثور عليها في اللحظة. أنا تحريرها هنا إذا كنت تتعثر أي.

نصائح أخرى

لمجرد إزالة مسافات، تريد str_replace طريقة . ومع ذلك، عند العمل مع عناوين المواقع، قد ترغب في النظر في urlencode و rawurlencode أساليب كذلك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top