PHP හි නිත්ය ප්රකාශනවල නම්ලිය ගිලිහුණු
preg_match භාවිතයෙන් අපට
දිනය දින, මාසය සහ වර්ෂය ලෙස කඩා ඇති බවට
කැමති යැයි සිතමු. මේ සඳහා ගිලිහුණු
භාවිතා කරමු:
<?php
$str = '2025-10-29';
$reg = '#(\d{4})-(\d{2})-(\d{2})#';
preg_match($reg, $str, $match);
var_dump($match); // ප්රතිදානය වන්නේ ['2025-10-29', '2025', '10', '29']
?>
ඔබට පෙනෙන පරිදි, ප්රතිඵලය ලෙස අපට අරාවක් ලැබේ, එහි ශුන්යවන මූලද්රව්යයේ සම්පූර්ණ දිනය වනු ඇත, පළමුවැන්න - වර්ෂය, දෙවැන්න - මාසය, තෙවැන්න - දිනය.
කෙසේ වෙතත්, සමහර විට, ගිලිහුණු වල අන්තර්ගතය සංස්ථා අරාවක් ලෙස ලබා ගැනීම පහසු වනු ඇත. එනම් අපගේ නඩුවේදී ලබා ගැනීම හොඳයි මේ වගේ අරාවක්:
[
'year' => '2025',
'month' => '10',
'day' => '29'
]
මේ සඳහා නිත්ය ප්රකාශනවල විශේෂ
වාක්ය රීතියක් පවතී. එය නම්: (?<name>pattern),
මෙහි pattern - මෙය නිත්ය ප්රකාශනයක් වන අතර name
- මෙය ගිලිහුණුවේ නම වේ.
දැන් අපි අපගේ දිනය සඳහා නිත්ය ප්රකාශනය නම්ලිය ගිලිහුණු ඔස්සේ යළි ලියමු:
<?php
$str = '2025-10-29';
$reg = '#(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})#';
preg_match($reg, $str, $match);
var_dump($match);
?>
ප්රතිඵලයක් ලෙස අපට සංස්ථා අරාවක් ලැබෙනු ඇත, එහි යතුරු ගිලිහුණු වල නම් වන අතර, අගයන් - ඒවායින් ඇතුළු වූ දේ:
[
'year' => '2025',
'month' => '10',
'day' => '29',
]
ඇත්ත වශයෙන්ම, ප්රතිඵල සමඟ ඇති අරාවේ අගයන්
ගිලිහුණු වලට නම හරහා සහ
අනුක්රමික අංකය හරහා ප්රවේශ විය හැකිය. එනම්, උදාහරණයක් ලෙස,
වර්ෂයට යතුර 'year'
හරහා සහ අංකය 1 හරහා ප්රවේශ විය හැකිය,
මාසය - යතුර 'month'
හරහා සහ අංකය 2 හරහා සහ එසේම:
[
'year' => '2025',
'month' => '10',
'day' => '29',
1 => '2025',
2 => '10',
3 => '29'
]
විස්තර කර ඇති නම්ලිය ගිලිහුණු වලට තවත් කිහිපයක්
විකල්ප වාක්ය රීති ඇත: (?P<name>pattern)
සහ (?'name'pattern).
වේලාව සමඟ නූලක් ලබා දී ඇත:
<?php
$str = '12:59:59';
?>
පැය, මිනිත්තු සහ තත්පර වෙනම නම්ලිය ගිලිහුණු වලට තබන්න.
ප්රතිඵල සමඟ ඇති අරාවේ සියලුම අංකන ගිලිහුණු මකා දමන, ඉතිරි කර කෙලින්ම නම්ලිය ගිලිහුණු පමණක් ඇති කාර්යයක් ලියන්න.