Function preg_match_all
Function preg_match_all සිදුරුවක රටාවක් සාමාන්යයෙන් සොයා බලයි. පළමු පරාමිතියට නිත්ය ප්රකාශනය, දෙවන පරාමිතියට සෙවීම සඳහා වන සිදුරුව, තෙවන පරාමිතියට ප්රතිඵල සුරැකීම සඳහා අරාව පවරනු ලැබේ. හතරවන විකල්ප පරාමිතිය ආපසු ලබා දෙන ව්යුහයේ වර්ගය නියම කරන අතර, පස්වන විකල්ප පරාමිතිය සෙවීම ආරම්භ කිරීමේ මාරුව නියම කරයි.
වාක්ය රචනය
preg_match_all(pattern, subject, matches, [flags], [offset]);
පතකන්
හතරවන පරාමිතියට ගත හැකි අගයන් මොනවාදැයි අපි බලමු:
| පරාමිතිය | විස්තරය |
|---|---|
PREG_PATTERN_ORDER |
පෙරනිමි ප්රකාරය. ප්රතිඵල කාසි වලට අනුව කාණ්ඩගත කර ඇත - අරාවේ ශුන්ය මූලද්රව්යය ශුන්ය කාසි අඩංගු කරයි, පළමු මූලද්රව්යය පළමු කාසි අඩංගු කරයි සහ එසේම ය. |
PREG_SET_ORDER |
ප්රතිඵල ගැලපීම් වලට අනුව කාණ්ඩගත කර ඇත - අරාවේ සෑම මූලද්රව්යයක්ම සොයාගත් කාසි සමඟ අරාවක් අඩංගු කරයි. |
PREG_OFFSET_CAPTURE |
සෑම ගැලපීමක් සඳහාම සිදුරුවේ ස්ථානය ආපසු ලබා දෙනු ලැබේ. සෑම ප්රතිඵලයක්ම අරාවක් වන අතර, එහි ශුන්ය මූලද්රව්යය ගැලපීම අඩංගු කරන අතර, පළමුවැන්න එහි මාරුව අඩංගු කරයි. |
PREG_UNMATCHED_AS_NULL |
ගැලපී නොමැති කාසි හිස් නොවන වචන වෙනුවට
null ලෙස ආපසු ලබා දෙනු ලැබේ.
|
උදාහරණය
සිදුරුවක ඇති සියලුම ඉලක්කම් සොයා ගනිමු:
<?php
$str = 'abc 123 def 456';
preg_match_all('/\d+/', $str, $res);
var_dump($res[0]);
?>
කේතය ක්රියාත්මක කිරීමේ ප්රතිඵලය:
['123', '456']
උදාහරණය
සිදුරුවේ ඇති සියලුම අක්ෂර 'a' සොයා ගනිමු:
<?php
$str = 'banana';
preg_match_all('/a/', $str, $res);
var_dump($res[0]);
?>
කේතය ක්රියාත්මක කිරීමේ ප්රතිඵලය:
['a', 'a', 'a']
උදාහරණය
සිදුරුවෙන් සියලුම කාල සලකුණු සහ ඒවායේ අංග උකහා ගනිමු:
<?php
$time = '12:01:02 13:03:04 14:05:06';
preg_match_all('#(\d\d):(\d\d):(\d\d)#', $time, $res);
var_dump($res);
?>
කේතය ක්රියාත්මක කිරීමේ ප්රතිඵලය:
[
0 => ['12:01:02', '13:03:04', '14:05:06'],
1 => ['12', '13', '14'],
2 => ['01', '03', '05'],
3 => ['02', '04', '06']
]
උදාහරණය
දැන් අපි ගැලපීම් වලට අනුව කාණ්ඩගත කිරීම සඳහා
PREG_SET_ORDER පතකනය භාවිතා කරමු:
<?php
$time = '12:01:02 13:03:04 14:05:06';
preg_match_all('#(\d\d):(\d\d):(\d\d)#', $time, $res, PREG_SET_ORDER);
var_dump($res);
?>
කේතය ක්රියාත්මක කිරීමේ ප්රතිඵලය:
[
0 => '12:01:02',
1 => '12',
2 => '01',
3 => '02'
],
[
0 => '13:03:04',
1 => '13',
2 => '03',
3 => '04'
],
[
0 => '14:05:06',
1 => '14',
2 => '05',
3 => '06'
]
මෙයද බලන්න
-
function
preg_match,
යනු නිත්ය ප්රකාශනය සමඟ පළමු ගැලපීම සොයන -
function
preg_replace,
යනු නිත්ය ප්රකාශනය අනුව සෙවීම සහ ප්රතිස්ථාපනය කරන