احذف الأحرف الخاصة والأحرف الفارغة

0

أستخدم Laravel وأبحث عن إمكانية في العلامات لمسح جميع الأحرف الخاصة والأحرف الفارغة قبل الحفظ وعدم تخزين أي علامات فارغة ، إذا تم إدخال أحرف خاصة فقط. كيف أقوم بذلك؟

if($product)
        {
            $tagNames = explode(',' ,$request->get('itag'));
            $tagIds = [];
            $toReplace = ['%', ' ', '_', '?', '&', '#', '$', '!', '"', '/', '(', ')', '=', '{', '}', '[', ']'];
            foreach($tagNames as $tagName)
            {
                $tag = Tag::firstOrCreate(['name' => str_replace($toReplace, '', $tagName)]);

                if ($tag) {
                    $tagIds[] = $tag->id;
                }
            }
            $interest->tags()->sync($tagIds);
        }

1 إجابة

1
افضل جواب

مع الكود الخاص بك ، يمكنك استخدامه str_replace وظيفة لذلك مثل هذا

$toReplace = ['%', ' ', '_', '?', '&'];
foreach($tagNames as $tagName)
{
    if(!empty(str_replace($toReplace, '', $tagName))){
        $tag = Tag::firstOrCreate(['name'=>str_replace($toReplace, '-', $tagName)]);
       if($tag)
       {
          $tagIds[] = $tag->id;
       }
    }
}
:مؤلف

أسئلة ذات صلة

فوق
قائمة طعام