অপরদিকে. মানুষ parrotting হয় Regex মন্দ হয় মেমে উপায় খুব প্রায়ই আইএমও। এটি স্পষ্টতই যে প্রিগ_ম্যাচটি অতিরিক্ত ব্যবহার করা হয় php
তবে এটি প্রায়শই বোধগম্য হয় না (পিএইচপি তে)।
আমি এতদূর গিয়ে অনুমান করতাম যে স্ট্রিং ফাংশনগুলি ব্যবহার করতে এটি পিএইচপি জমিতে আরও একটি মাইক্রোপটিমাইজেশন। অনেকগুলি এবং অনেকগুলি দরকারী রয়েছে এবং সেগুলি সাধারণত আরও ভাল পছন্দ। তবে আপনার preg_match
একাধিক strpos
এবং if
চেইনের পক্ষে হওয়া উচিত নয় । যেহেতু অনুশীলনে এটি দেখা যাচ্ছে, পিএইচপি স্ট্রিং বিকল্পগুলির সন্ধানের জন্য একটি লুপ কার্যকর করতে পারে তার চেয়ে প্রায়শই দ্রুত হয়
সাম্প্রতিক উদাহরণ হিসাবে আমাকে উপলব্ধি করিয়েছে, যদি স্ট্রিংটি সর্বনিম্ন হয় তবে তা পরীক্ষা করে:
if ($string == strtolower($string))
এর চেয়ে বেশি পাঠযোগ্য:
if (!preg_match("/[A-Z]/", $string))
এবং আপনি ধরে নিবেন প্রথমটি অবশ্যই দ্রুত হওয়া উচিত, যেহেতু এটি অল-পিএইচপি। কিন্তু বাস্তবে রেজেক্স কেবল একবার স্ট্রিংয়ের উপরে নজর রাখে এবং বড় হাতের অক্ষর খুঁজে পাওয়ার সাথে সাথে অবহেলিত অবস্থাকে বাতিল করতে পারে। স্ট্রোল্টওয়ার () পদ্ধতির তবে দু'বার স্ট্রিংয়ের উপর নজর রাখা হয়েছে। প্রথম স্ট্রোল্টওয়ার () প্রতিটি অক্ষরের উপর পুনরাবৃত্তি করে, তার সাথে তুলনা করে এবং বড়হাতের মাধ্যমে একটি স্ট্রিং সদৃশ তৈরি করে। তারপরে ==
মূলটির সাথে পুনরাবৃত্তি হয় এবং আবার অনুলিপিটি আরও একবার তুলনা করে।
সুতরাং এটি একটি সুস্পষ্ট মামলা নয়। এবং উদ্দেশ্য হ'তে প্রথমটি প্রায়শই দ্রুত হয়, যেহেতু আপনি সাধারণত সংক্ষিপ্ত স্ট্রিংগুলির তুলনা করেন। তবে পিএইচপি স্ট্রিং ফাংশনগুলি সর্বদা নিয়মিত অভিব্যক্তির তুলনায় পরামর্শ দেওয়া হয় এমন ধারনা দ্বারা অন্ধভাবে না যাওয়া জরুরি।
( এক্সএইচটিএমএল-রেইগেক্সেস সম্পর্কিত @ বোবিন্সের মজাদার উত্তর সম্পর্কে, এবং কীভাবে এটি প্রায়শই খুব অস্বাস্থ্যকর উপায়ে লিঙ্কিত হয়েছে তা সম্পর্কে আরও একটি বাড়াতে আমি প্রলুব্ধ হয়েছি এবং নীচের আরও উদ্দেশ্যমূলক উত্তরগুলি উপেক্ষা করা হবে))