preg_match_all() స్ట్రింగ్లోని నిర్దిష్ట నమూనాతో సరిపోలడానికి ఉపయోగించే PHPలో అంతర్నిర్మిత ఫంక్షన్. మీరు సాధారణ వ్యక్తీకరణ సరిపోలికలను నిర్వహించడానికి మరియు స్ట్రింగ్ల నుండి డేటాను సంగ్రహించడానికి ఈ ఫంక్షన్ని ఉపయోగించవచ్చు. మీరు నమూనా యొక్క బహుళ సంఘటనల కోసం శోధించాల్సిన సందర్భాల్లో ఇది సమయం మరియు కృషిని ఆదా చేస్తుంది మరియు PHP యొక్క టెక్స్ట్ పార్సింగ్ మరియు డేటా ఎక్స్ట్రాక్షన్ అప్లికేషన్లలో విస్తృతంగా ఉపయోగించబడుతుంది.
వాక్యనిర్మాణం
కిందిది ఉపయోగించడానికి వాక్యనిర్మాణం preg_match_all PHPలో:
preg_match_all ( నమూనా , ఇన్పుట్ , మ్యాచ్లు , జెండాలు , ఆఫ్సెట్ )
ది preg_match_all కింది పారామితులను అంగీకరిస్తుంది, మూడు తప్పనిసరి పారామితులు మరియు రెండు ఐచ్ఛికం:
- నమూనా : ఇది తప్పనిసరి పరామితి; ఇది శోధించాల్సిన సాధారణ వ్యక్తీకరణను కలిగి ఉంటుంది.
- ఇన్పుట్ : రెండవది కూడా తప్పనిసరి పరామితి, ఎందుకంటే ఇది శోధనను నిర్వహించే స్ట్రింగ్.
- మ్యాచ్లు : ఇది అన్ని మ్యాచ్లను కలిగి ఉన్న శ్రేణిలో అవుట్పుట్ను నిల్వ చేస్తుంది.
- జెండాలు : ఇది శోధన లేదా మ్యాచ్ల శ్రేణి ఎలా నిర్మాణమైందో వివరిస్తుంది. ఇది ఫంక్షన్ యొక్క శోధన యొక్క ప్రవర్తనను సవరిస్తుంది. కింది జెండాలను ఉపయోగించవచ్చు:
- ఆఫ్సెట్ : ఇది శోధన యొక్క ప్రారంభ స్థానాన్ని పేర్కొనే ఐచ్ఛిక పరామితి.
జెండా | వివరణ |
---|---|
PREG_PATTERN_ORDER | ఫలిత శ్రేణి సాధారణ వ్యక్తీకరణ యొక్క ప్రతి మూలకం కోసం శ్రేణి యొక్క అన్ని సరిపోలికలను కలిగి ఉంటుంది. |
PREG_SET_ORDER | మ్యాచ్ల శ్రేణి యొక్క మూలకాలు ప్రతి ఒక్కటి స్ట్రింగ్లో కనుగొనబడిన మ్యాచ్లలో ఒకదాని కోసం ప్రతి సమూహం నుండి సరిపోలికలను కలిగి ఉంటాయి. |
PREG_OFFSET_CAPTURE | ఇది సబ్జెక్ట్ స్ట్రింగ్లో వాటి సంబంధిత బైట్ ఆఫ్సెట్ స్థానాలతో మ్యాచ్లను అందిస్తుంది. |
PREG_UNMATCHED_AS_NULL | సరిపోలని నమూనాలు NULLగా నివేదించబడతాయి. |
ఉదాహరణ 1
ఉపయోగించిన క్రింది ఉదాహరణను పరిగణించండి preg_match_all() PHPలో ఫంక్షన్. ఈ కోడ్లో, మేము పదం కోసం వెతుకుతున్నాము Linux స్ట్రింగ్ లో. ఈ ఫంక్షన్ పదానికి వ్యతిరేకంగా కనుగొనబడిన సరిపోలికల సంఖ్యను అవుట్పుట్ చేస్తుంది Linux :
$ స్ట్రింగ్ = 'హలో Linux ఔత్సాహికులారా, LinuxHintకి స్వాగతం!' ;
$నమూనా = '/Linux/' ;
$ సరిపోలికలు = అమరిక ( ) ;
preg_match_all ( $నమూనా , $ స్ట్రింగ్ , $ సరిపోలికలు ) ;
print_r ( $ సరిపోలికలు [ 0 ] ) ;
?>
ఉదాహరణ 2
ఈ ఉదాహరణ కోడ్లో, మేము స్ట్రింగ్లో E పదం కోసం శోధిస్తున్నాము. చిన్న i శోధనను కేస్-సెన్సిటివ్గా చేయడానికి ఉపయోగించబడుతుంది. ఇది E లేదా e పదం యొక్క అన్ని స్ట్రింగ్ సంఘటనలను అందిస్తుంది:
$ స్ట్రింగ్ = 'వెల్కమ్ టు USA.' ;
$patternRex = '/E/i' ;
$matchFound = preg_match_all ( $patternRex , $ స్ట్రింగ్ , $ సరిపోలికలు ) ;
ఉంటే ( $matchFound ) {
ప్రతిధ్వని '<ముందు>' ;
print_r ( $ సరిపోలికలు ) ;
}
?>
ఉదాహరణ 3
మీరు వెతుకుతున్న నమూనా స్ట్రింగ్లో లేకుంటే, ఫంక్షన్ తప్పుగా తిరిగి వస్తుంది, ఇది లోపాన్ని సూచిస్తుంది. దీన్ని నిర్వహించడానికి, మీరు if-else స్టేట్మెంట్లను ఉపయోగించవచ్చు. నమూనా కనుగొనబడకపోతే, నమూనా కనుగొనబడలేదని వినియోగదారుకు తెలియజేయడానికి మీరు else ప్రకటనను ఉపయోగించి సందేశాన్ని ముద్రించవచ్చు.
$ స్ట్రింగ్ = 'PHP ఒక ప్రసిద్ధ స్క్రిప్టింగ్ భాష' ;
$patternRex = '/peE/' ;
$matchFound = preg_match_all ( $patternRex , $ స్ట్రింగ్ , $ సరిపోలికలు ) ;
ఉంటే ( $matchFound ) {
ప్రతిధ్వని '<ముందు>' ;
ప్రతిధ్వని 'మ్యాచ్ కనుగొనబడింది.' ;
print_r ( $ సరిపోలికలు ) ;
} లేకపోతే {
ప్రతిధ్వని 'సరిపోలిక కనుగొనబడలేదు.' ;
}
?>
గమనిక : ది <ముందు> పై కోడ్లోని ట్యాగ్ అవుట్పుట్ను ఫార్మాట్ చేయడానికి ఉపయోగించబడుతుంది.
క్రింది గీత
సాధారణ వ్యక్తీకరణలు PHPలో వచనాన్ని శోధించడానికి మరియు మార్చడానికి శక్తివంతమైన సాధనం. ది preg_match_all() ఫంక్షన్ అనేది అంతర్నిర్మిత PHP ఫంక్షన్, ఇది స్ట్రింగ్కు వ్యతిరేకంగా సాధారణ వ్యక్తీకరణ మ్యాచ్ని నిర్వహించడానికి మరియు నమూనా యొక్క అన్ని సంఘటనలను తిరిగి పొందడానికి ఉపయోగించబడుతుంది మరియు నమూనా ఉనికిలో లేకుంటే, అది తప్పుగా చూపబడుతుంది. అర్థం చేసుకోవడం preg_match_all() PHPలో టెక్స్ట్ డేటాను మెరుగ్గా నిర్వహించడానికి మరియు ప్రాసెస్ చేయడానికి ఫంక్షన్ వినియోగదారులకు సహాయపడుతుంది.