پی ایچ پی میں preg_match () فنکشن کا استعمال۔

Use Preg_match Function Php



باقاعدہ اظہار ایک خاص نمونہ ہے جو ٹیکسٹ ڈیٹا میں کسی خاص سٹرنگ کو مماثل ، تلاش اور تبدیل کرنے کے لیے استعمال کیا جا سکتا ہے۔ یہ کسی بھی پروگرامنگ زبان کی ایک طاقتور خصوصیت ہے۔ یہ بنیادی طور پر مختلف اقسام کے فارم کی توثیق کرنے کے لیے استعمال کیا جاتا ہے ، جیسے ای میل کی توثیق ، ​​فون فارمیٹ کو چیک کرنا ، لاگ ان فارم کے صارف نام اور پاس ورڈ فیلڈز کی توثیق کرنا وغیرہ۔ پیٹرن اسے ریجیکس یا RegExp بھی کہا جاتا ہے۔ مختلف قسم کی علامتیں ریجیکس پیٹرن کی وضاحت کے لیے استعمال ہوتی ہیں۔

پی ایچ پی میں باقاعدہ اظہار کے لیے بہت سے بلٹ ان فنکشنز موجود ہیں۔ preg_match () فنکشن ان میں سے ایک ہے۔ یہ فنکشن سٹرنگ ڈیٹا میں کسی خاص پیٹرن سے ملنے کے لیے استعمال ہوتا ہے۔ پی ایچ پی میں preg_match () فنکشن کو مختلف کاموں کے لیے کس طرح استعمال کیا جا سکتا ہے اس کی وضاحت اس ٹیوٹوریل میں کی گئی ہے۔







نحو:

انٹ یاجھوٹا preg_match (تار$ پیٹرن،تار$ موضوع [، صف &$ مماثل ہے۔ = خالی [،int$ پرچم = [،int$ آفسیٹ = ]]])

یہ فنکشن پانچ دلائل لے سکتا ہے۔ پہلی دلیل ، $ پیٹرن ، لازمی ہے ، جو مماثلت کے پیٹرن کی وضاحت کرتا ہے۔ دوسری دلیل ، $ موضوع ، لازمی ہے ، اور اسٹرنگ ڈیٹا پر مشتمل ہے جس میں پیٹرن لاگو کیا جائے گا۔ تیسری دلیل ، $ مماثل ہے۔ ، اختیاری ہے اور یہ میچ کی بنیاد پر ایک صف واپس کرتا ہے۔ چوتھی دلیل ، $ پرچم ، اختیاری ہے ، جس میں میچ کی بنیاد پر مختلف قسم کے جھنڈے کی اقدار ہوتی ہیں۔ پانچویں دلیل ، $ آفسیٹ ، اختیاری ہے ، اور تلاش کی ابتدائی پوزیشن کی وضاحت کے لیے استعمال کیا جا سکتا ہے۔



مثال 1: کیس حساس اور کیس غیر حساس انداز میں پیٹرن کو ملا دیں۔

مندرجہ ذیل مثال preg_match () فنکشن کا استعمال ایک کیس حساس اور کیس سے حساس انداز میں سٹرنگ کے ملاپ کے لیے دکھاتی ہے۔ مندرجہ ذیل سکرپٹ کے ساتھ ایک پی ایچ پی فائل بنائیں۔



یہاں ، تین پیٹرن تین preg_match () افعال میں درخواست دینے کے لیے استعمال ہوتے ہیں۔ پہلا پیٹرن ، '/کی طرح/' ، ایک کیس حساس طریقے سے سٹرنگ کے ملاپ کے لیے استعمال کیا جاتا ہے۔ دوسرا پیٹرن ، '/کی طرح/' ، کیس حساس انداز میں سٹرنگ کے ملاپ کے لیے استعمال کیا جاتا ہے۔ تیسرا نمونہ ، 'جیسا کہ میں' ، کیس کو غیر حساس انداز میں سٹرنگ سے ملانے کے لیے استعمال کیا جاتا ہے۔ تلاش_ پیٹرن () فنکشن کی وضاحت اسکرپٹ میں preg_match () فنکشن کو ملاپ کے لیے کرنے کے لیے کی گئی ہے ، اور یہ اس فنکشن کی لوٹی ہوئی ویلیو کی بنیاد پر پیغام پرنٹ کرتا ہے۔







// متن کی وضاحت کریں۔

$ متن = مجھے پی ایچ پی پسند ہے۔ مجھے جاوا اسکرپٹ بھی پسند ہے۔ '؛

// پیٹرن کی تین اقسام کی وضاحت کریں۔

$ پیٹرن 1۔ = '/کی طرح/'؛

$ پیٹرن 2۔ = '/کی طرح/'؛

$ پیٹرن 3۔ = '/جیسا کہ میں'؛

// متن میں پیٹرن تلاش کرنے کے لیے فنکشن کی وضاحت کریں۔

فنکشنتلاش کا نمونہ۔($ پیٹرن، $ سٹرنگ)

{

اگر( preg_match ($ پیٹرن، $ سٹرنگ))

باہر پھینک دیا 'تلاش کا نتیجہ: پیٹرن کے لیے میچ پایا جاتا ہے -$ پیٹرن
'
؛

اور

باہر پھینک دیا 'تلاش کا نتیجہ: پیٹرن کے لیے میچ نہیں ملا -$ پیٹرن
'
؛

}

// اصل متن پرنٹ کریں۔

باہر پھینک دیا اصل متن یہ ہے: $ متن
'
؛

// تین نمونوں کے لیے فنکشن کو تین بار کال کریں۔

تلاش کا نمونہ۔($ پیٹرن 1۔، $ متن)؛

تلاش کا نمونہ۔($ پیٹرن 2۔، $ متن)؛

تلاش کا نمونہ۔($ پیٹرن 3۔، $ متن)؛

؟>

آؤٹ پٹ۔ :

سرور سے اسکرپٹ چلانے کے بعد درج ذیل آؤٹ پٹ ظاہر ہوگا۔ پہلی سطر وہ متن دکھاتی ہے جہاں پیٹرن تلاش کیے گئے تھے۔ دوسری لائن پہلے پیٹرن کی پیداوار دکھاتی ہے۔ تیسری لائن دوسرے پیٹرن کی پیداوار کو ظاہر کرتی ہے۔ چوتھی لائن تیسرے پیٹرن کی پیداوار کو ظاہر کرتی ہے۔



مثال 2: یو آر ایل کی توثیق کریں۔

مندرجہ ذیل مثال preg_match () فنکشن کا استعمال کرتے ہوئے یو آر ایل ایڈریس کو درست کرنے کا طریقہ دکھاتی ہے۔ مندرجہ ذیل سکرپٹ کے ساتھ ایک پی ایچ پی فائل بنائیں۔

یو آر ایل کی قیمت جانچ کے لیے متغیر $ url میں تفویض کی گئی ہے۔ '@^(؟: https: //)؟ اگر یہ درست ہے ، تو میزبان نام اور ڈومین نام پرنٹ کیا جائے گا ، بصورت دیگر ، غلطی کا پیغام پرنٹ کیا جائے گا۔



// یو آر ایل کی وضاحت کریں۔

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

// یو آر ایل کی توثیق کے لیے پیٹرن کی وضاحت کریں۔

$ پیٹرن ='@^(؟: https: //)؟ ​​([^/]+)'i'؛

// چیک کریں کہ URL درست ہے یا نہیں۔

اگر( preg_match ($ پیٹرن، $ url، $ 1 ملتا ہے۔))

{

// کامیابی کا پیغام چھاپیں۔

باہر پھینک دیا 'URL درست ہے۔
'
؛

// وہ صف پرنٹ کریں جس میں میچ کی اقدار ہوں۔

باہر پھینک دیا 'صف کی اقدار یہ ہیں:'؛

پرنٹ_ر ($ 1 ملتا ہے۔)؛

// بازیافت کریں اور میزبان کی قیمت پرنٹ کریں۔

$ میزبان = $ 1 ملتا ہے۔[]؛

باہر پھینک دیا '
میزبان کا نام ہے:$ میزبان'
؛

// میزبان قدر سے ڈومین نام تلاش کریں۔

preg_match ('/.، $ میزبان، $ 2 ملتا ہے۔)؛

باہر پھینک دیا '
ڈومین کا نام ہے:{$ match2 [0]}'
؛

}

اور

{

// غلطی کا پیغام پرنٹ کریں۔

باہر پھینک دیا 'غلط URL۔'؛

}

؟>

آؤٹ پٹ۔ :

سرور سے اسکرپٹ چلانے کے بعد درج ذیل آؤٹ پٹ ظاہر ہوگا۔ اسکرپٹ میں فراہم کردہ یو آر ایل درست ہے۔ لہذا ، آؤٹ پٹ $ میچز کی اقدار ، یو آر ایل کا میزبان نام ، اور یو آر ایل کا ڈومین نام دکھاتا ہے۔

مثال 3: پرچم اور آفسیٹ اقدار کے ساتھ پیٹرن تلاش کریں۔

مندرجہ ذیل مثال preg_match () فنکشن میں پرچم اور آفسیٹ اقدار کے استعمال کو ظاہر کرتی ہے۔ مندرجہ ذیل سکرپٹ کے ساتھ ایک پی ایچ پی فائل بنائیں۔

اسکرپٹ میں تین اقسام کے ملاپ کے لیے تین نمونے استعمال کیے گئے ہیں۔ پہلے preg_match () فنکشن میں ، '/(bangla) (desh)/' پیٹرن اور پرچم کی قیمت کے طور پر استعمال ہوتا ہے ، PREG_OFFSET_CAPTURE استعمال ہوتا ہے۔ کی اقدار۔ $ مماثل ہے۔ متغیر پہلے preg_match () فنکشن کی آؤٹ پٹ کی بنیاد پر پرنٹ کرے گا۔ دوسرے preg_match () فنکشن میں ، '/(bangla) (glad)*(desh)/i' ، پیٹرن اور پرچم کی قیمت کے طور پر استعمال ہوتا ہے ، PREG_UNMATCHED_AS_NULL استعمال ہوتا ہے۔ اگر پیٹرن کا کوئی حصہ مماثل نہیں ہے تو ایک NULL ویلیو کو صف میں محفوظ کیا جائے گا۔ کی اقدار۔ $ مماثل ہے۔ متغیر دوسرے preg_match () فنکشن کی آؤٹ پٹ کی بنیاد پر پرنٹ کرے گا۔ تیسرے preg_match () فنکشن میں ، '/glad/' پیٹرن کے طور پر استعمال کیا جاتا ہے ، فلیگ ویلیو ، PREG_OFFSET_CAPTURE استعمال کیا جاتا ہے اور 3 کو آفسیٹ ویلیو کے طور پر استعمال کیا جاتا ہے۔ کی اقدار۔ $ مماثل ہے۔ متغیر تیسرے preg_match () فنکشن کی آؤٹ پٹ کی بنیاد پر پرنٹ کرے گا۔



// متن کی قیمت کی وضاحت کریں۔

$ متن = 'بنگلہ دیش'؛

// تین قسم کے پیٹرن کی وضاحت کریں۔

$ پیٹرن 1۔ = ' / (بنگلہ) (دیش) / میں'؛

$ پیٹرن 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۔، )؛

باہر پھینک دیا '
';  

print_r ($matches);

echo '
'
؛

؟>

آؤٹ پٹ۔ :

سرور سے اسکرپٹ چلانے کے بعد درج ذیل آؤٹ پٹ ظاہر ہوگا۔

نتیجہ

preg_match () فنکشن کے استعمال کی وضاحت اس ٹیوٹوریل میں کئی مثالوں کے ذریعے کی گئی ہے۔ اس فنکشن کے مختلف دلائل کے استعمال بھی یہاں دکھائے گئے ہیں۔ اس ٹیوٹوریل کو پڑھنے کے بعد قارئین اس فنکشن کو اپنے اسکرپٹ میں صحیح طریقے سے استعمال کر سکیں گے۔