পিএইচপিতে preg_match () ফাংশনের ব্যবহার

Use Preg_match Function Php



রেগুলার এক্সপ্রেশন হল একটি বিশেষ প্যাটার্ন যা টেক্সট ডেটাতে কোন নির্দিষ্ট স্ট্রিংকে মেলাতে, অনুসন্ধান করতে এবং প্রতিস্থাপন করতে ব্যবহার করা যেতে পারে। এটি যেকোনো প্রোগ্রামিং ভাষার একটি শক্তিশালী বৈশিষ্ট্য। এটি প্রধানত বিভিন্ন ধরনের ফর্ম যাচাইকরণের জন্য ব্যবহৃত হয়, যেমন ইমেইল যাচাই করা, ফোনের ফরম্যাট পরীক্ষা করা, লগইন ফর্মের ব্যবহারকারীর নাম এবং পাসওয়ার্ড ক্ষেত্রগুলি যাচাই করা ইত্যাদি। প্যাটার্ন এটি regex বা RegExp নামেও পরিচিত। রেজেক্স প্যাটার্ন সংজ্ঞায়িত করতে বিভিন্ন ধরনের প্রতীক ব্যবহার করা হয়।

পিএইচপি-তে নিয়মিত প্রকাশের জন্য অনেক বিল্ট-ইন ফাংশন বিদ্যমান। preg_match () ফাংশন তাদের মধ্যে একটি। এই ফাংশনটি স্ট্রিং ডেটাতে একটি নির্দিষ্ট প্যাটার্নের সাথে মিলের জন্য ব্যবহৃত হয়। পিএইচপি -তে preg_match () ফাংশন কিভাবে বিভিন্ন কাজ সম্পাদনের জন্য ব্যবহার করা যায় তা এই টিউটোরিয়ালে ব্যাখ্যা করা হয়েছে।







বাক্য গঠন:

Int বামিথ্যা preg_match (স্ট্রিং$ প্যাটার্ন,স্ট্রিং$ বিষয় [, অ্যারে &$ ম্যাচ = খালি [,int$ পতাকা = 0 [,int$ অফসেট = 0]]])

এই ফাংশনটি পাঁচটি যুক্তি নিতে পারে। প্রথম যুক্তি, $ প্যাটার্ন , বাধ্যতামূলক, যা মিলের জন্য প্যাটার্ন সংজ্ঞায়িত করে। দ্বিতীয় যুক্তি, $ বিষয় , বাধ্যতামূলক, এবং স্ট্রিং ডেটা রয়েছে যাতে প্যাটার্ন প্রয়োগ করা হবে। তৃতীয় যুক্তি, $ ম্যাচ , optionচ্ছিক এবং এটি ম্যাচের উপর ভিত্তি করে একটি অ্যারে প্রদান করে। চতুর্থ যুক্তি, $ পতাকা , optionচ্ছিক, যা ম্যাচের উপর ভিত্তি করে বিভিন্ন ধরনের পতাকার মান ধারণ করে। পঞ্চম যুক্তি, $ অফসেট , optionচ্ছিক, এবং অনুসন্ধানের শুরুর অবস্থান নির্ধারণ করতে ব্যবহার করা যেতে পারে।



উদাহরণ 1: একটি কেস-সংবেদনশীল এবং কেস-সংবেদনশীল উপায়ে প্যাটার্নটি মেলে

নিম্নলিখিত উদাহরণ preg_match () ফাংশনের ব্যবহার কেস-সংবেদনশীল এবং কেস-সংবেদনশীল পদ্ধতিতে স্ট্রিং মিলানোর জন্য দেখায়। নিম্নলিখিত স্ক্রিপ্ট দিয়ে একটি পিএইচপি ফাইল তৈরি করুন।



এখানে, তিনটি preg_match () ফাংশনে আবেদন করার জন্য তিনটি প্যাটার্ন ব্যবহার করা হয়। প্রথম প্যাটার্ন, '/লাইক/', কেস-সংবেদনশীল উপায়ে স্ট্রিং মেলাতে ব্যবহৃত হয়। দ্বিতীয় প্যাটার্ন, '/মত/' , কেস-সংবেদনশীল উপায়ে স্ট্রিং মেলাতে ব্যবহৃত হয়। তৃতীয় প্যাটার্ন, 'আমার মত' , কেস-অসংবেদনশীল উপায়ে স্ট্রিং মেলাতে ব্যবহৃত হয়। search_pattern () ফাংশনটি স্ক্রিপ্টে সংজ্ঞায়িত করা হয়েছে preg_match () ফাংশন ব্যবহার করার জন্য, এবং এটি এই ফাংশনের ফেরত মানের উপর ভিত্তি করে বার্তা প্রিন্ট করে।







// পাঠ্য সংজ্ঞায়িত করুন

$ টেক্সট = 'আমি পিএইচপি পছন্দ করি। আমি জাভাস্ক্রিপ্টও পছন্দ করি। ';

// তিন ধরনের প্যাটার্ন সংজ্ঞায়িত করুন

$ প্যাটার্ন 1 = '/লাইক/';

$ প্যাটার্ন 2 = '/মত/';

$ প্যাটার্ন 3 = '/আমার মত';

// পাঠ্যের প্যাটার্ন অনুসন্ধানের জন্য ফাংশন নির্ধারণ করুন

ফাংশনsearch_pattern($ প্যাটার্ন, $ স্ট্রিং)

{

যদি( preg_match ($ প্যাটার্ন, $ স্ট্রিং))

বের করে দিল 'ফলাফল খুজুন: প্যাটার্নের জন্য মিল পাওয়া যায় -$ প্যাটার্ন
'
;

অন্য

বের করে দিল 'ফলাফল খুজুন: প্যাটার্নের জন্য মিল খুঁজে পাওয়া যায় না -$ প্যাটার্ন
'
;

}

// মূল লেখাটি প্রিন্ট করুন

বের করে দিল 'মূল পাঠ্য হল: $ টেক্সট
'
;

// তিনটি প্যাটার্নের জন্য ফাংশনটিকে তিনবার কল করুন

search_pattern($ প্যাটার্ন 1, $ টেক্সট);

search_pattern($ প্যাটার্ন 2, $ টেক্সট);

search_pattern($ প্যাটার্ন 3, $ টেক্সট);

?>

আউটপুট :

সার্ভার থেকে স্ক্রিপ্ট চালানোর পর নিম্নলিখিত আউটপুট দেখা যাবে। প্রথম লাইনটি পাঠ্য দেখায় যেখানে নিদর্শনগুলি অনুসন্ধান করা হয়েছিল। দ্বিতীয় লাইন প্রথম প্যাটার্নের আউটপুট দেখায়। তৃতীয় লাইন দ্বিতীয় প্যাটার্নের আউটপুট দেখায়। চতুর্থ লাইন তৃতীয় প্যাটার্নের আউটপুট দেখায়।



উদাহরণ 2: URL টি যাচাই করুন

নিচের উদাহরণ preg_match () ফাংশন ব্যবহার করে URL ঠিকানা যাচাই করার উপায় দেখায়। নিম্নলিখিত স্ক্রিপ্ট দিয়ে একটি পিএইচপি ফাইল তৈরি করুন।

পরীক্ষার জন্য $ url ভেরিয়েবলে একটি URL মান নির্ধারিত হয়। '@^(?: Https: //)' যদি এটি বৈধ হয়, তাহলে হোস্টনাম এবং ডোমেন নাম মুদ্রিত হবে, অন্যথায়, ত্রুটি বার্তা মুদ্রিত হবে।



// ইউআরএল সংজ্ঞায়িত করুন

$ url = 'https://www.linuxhint.com';

// ইউআরএল যাচাই করার জন্য প্যাটার্ন সংজ্ঞায়িত করুন

$ প্যাটার্ন ='@^(?: https: //)? ([^/]+) @i';

// URL টি বৈধ কিনা তা পরীক্ষা করুন

যদি( preg_match ($ প্যাটার্ন, $ url, $ 1))

{

// সাফল্যের বার্তা প্রিন্ট করুন

বের করে দিল URL টি বৈধ।
'
;

// মিলের মান ধারণকারী অ্যারে প্রিন্ট করুন

বের করে দিল 'অ্যারের মান হল:';

মুদ্রণ_আর ($ 1);

// হোস্ট মান পুনরুদ্ধার এবং মুদ্রণ করুন

$ host = $ 1[];

বের করে দিল '
হোস্টের নাম হল:$ host'
;

// হোস্ট মান থেকে ডোমেইন নাম অনুসন্ধান করুন

preg_match ('/...-।, $ host, $ ম্যাচ 2);

বের করে দিল '
ডোমেইন নাম হল:{$ match2 [0]}'
;

}

অন্য

{

// ত্রুটি বার্তা প্রিন্ট করুন

বের করে দিল 'অবৈধ URL।';

}

?>

আউটপুট :

সার্ভার থেকে স্ক্রিপ্ট চালানোর পর নিম্নলিখিত আউটপুট দেখা যাবে। স্ক্রিপ্টে প্রদত্ত URL বৈধ। সুতরাং, আউটপুট $ মিলের মান, URL এর হোস্টনাম এবং URL এর ডোমেন নাম দেখায়।

উদাহরণ 3: পতাকা এবং অফসেট মান সহ প্যাটার্ন অনুসন্ধান করুন

নিচের উদাহরণ preg_match () ফাংশনে পতাকার ব্যবহার এবং অফসেট মান দেখায়। নিম্নলিখিত স্ক্রিপ্ট দিয়ে একটি পিএইচপি ফাইল তৈরি করুন।

স্ক্রিপ্টে তিন ধরনের প্যাটার্ন ব্যবহার করা হয় তিন ধরনের মিলের জন্য। প্রথম preg_match () ফাংশনে, '/(বাংলা) (দেশ)/' প্যাটার্ন এবং পতাকা মান হিসাবে ব্যবহৃত হয়, PREG_OFFSET_CAPTURE ব্যবহার করা হয়। এর মান $ ম্যাচ প্রথম preg_match () ফাংশনের আউটপুটের উপর ভিত্তি করে ভেরিয়েবল প্রিন্ট করবে। দ্বিতীয় preg_match () ফাংশনে, '/(bangla) (glad)*(desh)/i', প্যাটার্ন এবং পতাকা মান হিসাবে ব্যবহৃত হয়, PREG_UNMATCHED_AS_NULL ব্যবহার করা হয়। যদি প্যাটার্নের কোন অংশের সাথে মিল না থাকে তবে একটি শূন্য মান অ্যারেতে সংরক্ষণ করা হবে। এর মান $ ম্যাচ দ্বিতীয় preg_match () ফাংশনের আউটপুটের উপর ভিত্তি করে পরিবর্তনশীল মুদ্রণ করবে। তৃতীয় preg_match () ফাংশনে, '/glad/' প্যাটার্ন হিসাবে ব্যবহৃত হয়, পতাকা মান, PREG_OFFSET_CAPTURE ব্যবহার করা হয় এবং 3 অফসেট মান হিসাবে ব্যবহৃত হয়। এর মান $ ম্যাচ তৃতীয় preg_match () ফাংশনের আউটপুটের উপর ভিত্তি করে পরিবর্তনশীল মুদ্রণ করবে।



// পাঠ্যের মান নির্ধারণ করুন

$ টেক্সট = 'বাংলাদেশ';

// তিন ধরনের নিদর্শন সংজ্ঞায়িত করুন

$ প্যাটার্ন 1 = '/(bangla)(desh)/i';

$ প্যাটার্ন 2 = ' / (বাংলা) (খুশি) * (দেশ) / আমি';

$ প্যাটার্ন 3 = '/খুশি/';


// PREG_OFFSET_CAPTURE পতাকা ব্যবহার করে

preg_match ($ প্যাটার্ন 1, $ টেক্সট, $ ম্যাচ,PREG_OFFSET_CAPTURE);

বের করে দিল '
';  

print_r ($matches);

echo '

'
;

// PREG_UNMATCHED_AS_NULL পতাকা ব্যবহার করে

preg_match ($ প্যাটার্ন 2, $ টেক্সট, $ ম্যাচ,PREG_UNMATCHED_AS_NULL);

বের করে দিল '
';  

print_r ($matches);

echo '

'
;

// PREG_OFFSET_CAPTURE পতাকা এবং অফসেট মান ব্যবহার করে

preg_match ($ প্যাটার্ন 3, $ টেক্সট, $ ম্যাচ,PREG_OFFSET_CAPTURE, 3);

বের করে দিল '
';  

print_r ($matches);

echo '
'
;

?>

আউটপুট :

সার্ভার থেকে স্ক্রিপ্ট চালানোর পর নিম্নলিখিত আউটপুট দেখা যাবে।

উপসংহার

Preg_match () ফাংশনের ব্যবহার এই টিউটোরিয়ালে একাধিক উদাহরণ ব্যবহার করে ব্যাখ্যা করা হয়েছে। এই ফাংশনের বিভিন্ন যুক্তির ব্যবহারও এখানে দেখানো হয়েছে। এই টিউটোরিয়ালটি পড়ার পর পাঠকরা তাদের স্ক্রিপ্টে এই ফাংশনটি সঠিকভাবে ব্যবহার করতে পারবে।