دالة جاهزة لتنظيف عبارة معينة
السلام عليكم و أسعد الله يومكم بكل خير
أحتاج دالة جاهزة و تكون صغيرة و سريعة لتنظيف جملة انجليزية و تحتفظ فقط ب abcdefghijklmnopqrstuvwxyz- يعني مثلا إذا تم إدخال نص مثل هذا élément d'anger يتم تحويله الى element-danger الفراغ يتم إضافة فيه - و الحروف الخاصة يتم تحويلها الى حروف عادية é أو è الى e à الى a ç الى c و هكذا أتمنى أن تكون هناك دالة أو تعبير قياسي يفي بالغرض و يختصر الأمر, لأن استعمال الدالة str_replace سيجعل الأمر طويل
2 إجابات
salam alikom
try this Function enleveaccents($chaine) { $string= strtr($chaine, " ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ", "-aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn"); return $string; } ;or this $str = strtr($str, ' ÁÀÂÄÃÅÇÉÈÊËÍÏÎÌÑÓÒÔÖÕÚÙÛÜÝ', '-AAAAAACEEEEEIIIINOOOOOUUUUY'); $str = strtr($str, ' áàâäãåçéèêëíìîïñóòôöõúùûüýÿ', '-aaaaaaceeeeiiiinooooouuuuyy'); Or this function wd_remove_accents($str, $charset='utf-8') { $str = htmlentities($str, ENT_NOQUOTES, $charset); $str = preg_replace('#&([A-za-z])(?:acute|cedil|circ|grave|orn|ring|slash|th|tilde|uml);#', '\1', $str); $str = preg_replace('#&([A-za-z]{2})(?:lig);#', '\1', $str); // pour les ligatures e.g. 'œ' $str = preg_replace('#&[^;]+;#', '', $str); // supprime les autres caractères return $str; } بواسطة: chlieh 0 من 0 أشخاص وجدو هذه الاجابة مفيدة. هل وجدتها؟ نعم لا
يمكنك تنظيف النص من اى شىء سوى النص الانجليزى
$string = "some სოფო text"; $string = preg_replace('/[^a-z0-9_ ]/i', '', $string);اما التحويل ستحتاج عملها يدويا عن طريق التبديل بين مصفوفة البحث ومصفوفة التبديل بواسطة: MacOS 1 من 1 أشخاص وجدو هذه الاجابة مفيدة. هل وجدتها؟ نعم لا لكن هذه تحذفه أنا أريد فقط استبداله مافى دالة جاهزة لذلك .. عليك صنعها يدويا باستعمال str_replace |