PHP හි නිත්ය ප්රකාශනවල සංකේත කණ්ඩායම්
සංකේතවල සම්පූර්ණ කණ්ඩායම් වහාම තෝරා ගැනීමට ඉඩ සලසන විශේෂ විධාන පවතී.
\d විධානය යනු 0 සිට 9 දක්වා ඉලක්කමයි.
\w විධානය ඉලක්කමක්, ලතින් අකුරක් හෝ යටි ඉරි සලකුණ නිරූපණය කරයි.
\s විධානය අවකාශයක් හෝ අවකාශ සංකේතයක් නිරූපණය කරයි:
හිස් අවකාශය, පේළියක් මාරු කිරීම, ටැබ් කිරීම.
විධානයේ අගය ප්රතිලෝම කළ හැකිය, විශාල අකුරක් ලිවීමෙන්: උදාහරණයක් ලෙස,
\d - ඉලක්කමක් නම්, \D - ඉලක්කමක් නොවේ.
උදාහරණය
අපි සියලුම ඉලක්කම් සොයා ගනිමු:
<?php
$str = '1 12 123';
$res = preg_replace('#\d#', '!', $str);
?>
ප්රතිඵලයක් වශයෙන්, විචල්යයට පහත දේ ලියා ඇත:
'! !! !!!'
උදාහරණය
පුනරාවර්තන මෙහෙයුම් විධාන-කණ්ඩායම් සමස්තයක් ලෙස සලකයි, එනම් සමූහ කරන වරහන්
අවශ්ය නොවේ. පහත උදාහරණයේ, සෙවුම් රටාව මෙසේ පෙනේ:
0 සිට 9 දක්වා ඉලක්කමක් එක් හෝ කිහිප වතාවක්:
<?php
$str = '1 12 123 abc @@@';
$res = preg_replace('#\d+#', '!', $str);
?>
ප්රතිඵලයක් වශයෙන්, විචල්යයට පහත දේ ලියා ඇත:
'! ! ! abc @@@'
උදාහරණය
පහත උදාහරණයේ, සෙවුම් රටාව මෙසේ පෙනේ:
ඕනෑම දෙයක් එක් හෝ කිහිප වතාවක්,
නමුත් 0 සිට 9 දක්වා ඉලක්කමක් නොවේ:
<?php
$str = '123abc3@@';
$res = preg_replace('#\D+#', '!', $str);
?>
ප්රතිඵලයක් වශයෙන්, විචල්යයට පහත දේ ලියා ඇත:
'123!3!'
උදාහරණය
මෙම උදාහරණයේ, සෙවුම් රටාව මෙසේ පෙනේ: අවකාශ සංකේතයක් එක් වරක්:
<?php
$str = '1 12 123 abc @@@';
$res = preg_replace('#\s#', '!', $str);
?>
ප්රතිඵලයක් වශයෙන්, විචල්යයට පහත දේ ලියා ඇත:
'1!12!123!abc!@@@'
උදාහරණය
මෙම උදාහරණයේ, සෙවුම් රටාව මෙසේ පෙනේ:
අවකාශ සංකේතයක් නොවන එක් හෝ කිහිප වතාවක්.
හිස් අවකාශ මගින් වෙන් කරන ලද සියලුම උප strings, '!' වෙත ප්රතිස්ථාපනය වේ:
<?php
$str = '1 12 123 abc @@@';
$res = preg_replace('#\S+#', '!', $str);
?>
ප්රතිඵලයක් වශයෙන්, විචල්යයට පහත දේ ලියා ඇත:
'! ! ! ! !'
උදාහරණය
මෙම උදාහරණයේ, සෙවුම් රටාව මෙසේ පෙනේ:
ඉලක්කමක් හෝ අකුරක් එක් හෝ කිහිප වතාවක්.
ඉලක්කම් සහ අකුරු වලින් සමන්විත සියලුම උප strings,
'!' වෙත ප්රතිස්ථාපනය වේ:
<?php
$str = '1 12 123a Abc @@@';
$res = preg_replace('#\w+#', '!', $str);
?>
ප්රතිඵලයක් වශයෙන්, විචල්යයට පහත දේ ලියා ඇත:
'! ! ! ! @@@'
උදාහරණය
මෙම උදාහරණයේ, සෙවුම් රටාව මෙසේ පෙනේ:
ඉලක්කමක් නොවන සහ අකුරක් නොවන එක් හෝ කිහිප වතාවක්.
අපගේ නඩුවේදී, මෙම නිර්වචනයට ගැළපෙන්නේ
'@@@' සහ සියලුම හිස් අවකාශ (ඒවා ද
ඉලක්කම් හෝ අකුරු නොවේ). කරුණාකර සටහන් කර ගන්න
අවසානයේ එක් '!' එකක් ඇති බව - එයට
' @@@' string එක පරිවර්තනය විය - එහි
ඉදිරිපස හිස් අවකාශයක් සමඟ:
$str = '1 12 123 Abc @@@';
$res = preg_replace('#\W+#', '!', $str);
ප්රතිඵලයක් වශයෙන්, විචල්යයට පහත දේ ලියා ඇත:
'1!12!123!Abc!'
ප්රායෝගික කාර්යයන්
String එකක් දෙනු ලැබේ:
<?php
$str = 'a1a a2a a3a a4a a5a aba aca';
?>
නිත්ය ප්රකාශනයක් ලියන්න, එය සොයා ගනු ඇත
එම strings, එහි පැතිවල අකුරු 'a',
ඒවායේ අතර එක් ඉලක්කමක්.
String එකක් දෙනු ලැබේ:
<?php
$str = 'a1a a22a a333a a4444a a55555a aba aca';
?>
නිත්ය ප්රකාශනයක් ලියන්න, එය සොයා ගනු ඇත
එම strings, එහි පැතිවල අකුරු 'a',
ඒවායේ අතර ඕනෑම ගණනක ඉලක්කම්.
String එකක් දෙනු ලැබේ:
<?php
$str = 'aa a1a a22a a333a a4444a a55555a aba aca';
?>
නිත්ය ප්රකාශනයක් ලියන්න, එය සොයා ගනු ඇත
එම strings, එහි පැතිවල අකුරු 'a',
ඒවායේ අතර ඕනෑම ගණනක ඉලක්කම් (ඇතුළුව
ශුන්ය ඉලක්කම්, එනම් string 'aa').
String එකක් දෙනු ලැබේ:
<?php
$str = 'avb a1b a2b a3b a4b a5b abb acb';
?>
නිත්ය ප්රකාශනයක් ලියන්න, එය සොයා ගනු ඇත
පහත වර්ගයේ strings: පැතිවල අකුරු
'a' සහ 'b', ඒවායේ අතර - එකක් නොවේ
අංකය.
String එකක් දෙනු ලැබේ:
<?php
$str = 'ave a#b a2b a$b a4b a5b a-b acb';
?>
නිත්ය ප්රකාශනයක් ලියන්න, එය සොයා ගනු ඇත
පහත වර්ගයේ strings: පැතිවල අකුරු
'a' සහ 'b', ඒවායේ අතර - එකක් නොවේ
අකුරක් හෝ ඉලක්කමක්.
String එකක් දෙනු ලැබේ:
<?php
$str = 'ave a#a a2a a$a a4a a5a a-a aca';
?>
නිත්ය ප්රකාශනයක් ලියන්න, එය සියලුම හිස් අවකාශ ප්රතිස්ථාපනය කරනු ඇත
'!' වෙත.