اقتراحات بشأن إصلاح أسماء الأشخاص بحيث يتم كتابتها بالأحرف الكبيرة بشكل صحيح

StackOverflow https://stackoverflow.com/questions/1625274

  •  06-07-2019
  •  | 
  •  

سؤال

غالبًا ما يكتب مستخدمو موقعنا الإلكتروني الكثير من المعلومات المهملة للحصول على معلومات الاسم والعنوان.على سبيل المثال، جميع الأحرف الكبيرة، وجميع الأحرف الصغيرة وما إلى ذلك.

يبدو الأمر أفضل كثيرًا إذا قمنا بإصلاح الحالة لهم، ولكن هل يمكن لأي شخص أن يقترح طريقة جيدة للقيام بذلك.تتمثل الطريقة البسيطة في كتابة كل كلمة بأحرف كبيرة في اسمها، لكن هذا يفشل عند التعامل مع بعض الأسماء.وفيما يلي بعض الأمثلة على ذلك...

  • بوب ماكدونالد
  • سارة أوكونور
  • السيد بيت سميث

وهذا ما أود تحويلهم إليه

  • بوب ماكدونالد
  • سارة أوكونور
  • السيد بيت سميث

أنا أستخدم PHP إذا كان ذلك مفيدًا.

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

المحلول

لا توجد طريقة صحيحة للقيام بذلك، أو بعبارة أكثر تحديدًا، كل طريقة تختارها ستكون خاطئة.

في بعض الأحيان يتم تهجئة O'Connor عادةً من قبل مالكها باسم O'connor.أو بدلاً من ذلك، كان من الممكن أن يفترض شخص ما أنه كان أوكونور في حين أنه في الواقع أوكونور، أو العكس.في بعض الأحيان ماكدونالد هو ماكدونالد.من الممكن قانونيًا أن يكون لديك اسم "بوب سميث"، حيث تكون جميع الأحرف صغيرة.

اعتقد ان فقط الإصلاح الذي سأفعله هو تغيير ALL-CAPS إلى الأحرف الكبيرة للحرف الأول.بخلاف ذلك، اترك الأمر بمفرده، لأنه لا توجد طريقة للتمييز بين المتهجئ الفظ وبين الشخص الذي قرر أنه يريد اسمًا مجنونًا.

نصائح أخرى

اتركها كما هي.إذا كان المستخدمون لا يحترمون أنفسهم بدرجة كافية لكتابة أسمائهم بشكل صحيح، فلماذا تهتم؟

بعد قولي هذا، اكتب روتينًا فرعيًا للمعالجة اللاحقة للأسماء، فهو سيتعامل مع بعض الحالات المنتشرة في كل مكان.

  • تكبير الأحرف الأولى من الكلمات باستثناء الكلمات التي لا يمكن كتابتها بالأحرف الكبيرة مثل "von"
  • ابحث عن أنماط محددة وكلمات مطابقة للتحديث المخصص (على سبيل المثال:قم بكتابة الحرف الثالث إذا كانت الكلمة تبدأ بـ "mc")

ونظرًا لتعقيد المشكلة، أعتقد أنه سيتعين عليك اللجوء إلى التحرير اليدوي للأسماء بعد نجاح خوارزمية التصحيح.يقوم المستخدم بالتسجيل، وتتم معالجة الاسم لاحقًا ثم إضافته إلى قائمة انتظار الإشراف حيث يمكنك التحقق منه وتحديثه حسب الحاجة قبل استخدامه وربما طباعته على الفواتير وملصقات الطرود.بالطبع، إذا كنت متأكدًا من أنك تعرف ما تفعله.

وبالطبع، هناك أشخاص مثلي لديهم حرف كبير في منتصف أسمائهم.سوف تهينني إذا حاولت "تصحيح" الأمر.كما قال "Developer Art"، إذا كان الأشخاص لا يحترمون أنفسهم بدرجة كافية لكتابة أسمائهم بشكل صحيح، فليس من وظيفتك إصلاح ذلك.

يمكنك استخدام $name = ucwords(strtolower($name)); في PHP لتحصل على ما تريد.

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