PHP හි නිත්ය ප්රකාශන හැඳින්වීම
නිත්ය ප්රකාශන යනු සංකීර්ණ සෙවීම් සහ ආදේශන සඳහා වන විධාන වේ. ඒවා ඉතා සිත්ගන්නා කාර්යයන් කිරීමට ඉඩ සලසයි, නමුත් දුක්කර ගැටලුවක් නම්, ඒවා ඉගෙන ගැනීම තරමක් දුෂ්කර ය.
නිත්ය ප්රකාශන සමඟ වැඩ කිරීම සඳහා PHP ශ්රිත කිහිපයක් පවතී. අපි ඒවා හඳුන්වා ගන්නේ preg_replace ශ්රිතයේ ආදර්ශයෙනි. මෙම
ශ්රිතය පළමු පරාමිතිය ලෙස ගනු ලබන්නේ මොනවා හරිද යන්නත්,
දෙවන පරාමිතිය ලෙස ගනු ලබන්නේ කුමක් දැයිත් වන අතර, තුන්වන පරාමිතිය
ලෙස ගනු ලබන්නේ ආදේශනය කළ යුතු විචල්යයයි:
<?php
preg_replace(මොනවා හරිද, කුමක් ද, විචල්යය);
?>
මෙහිදී පළමු පරාමිතිය ලෙස අපගේ ශ්රිතය ගනු ලබන්නේ
සරල විචල්යයක් නොව, නිත්ය ප්රකාශනයක්,
යනුවෙන් # සංකේත තුළ අඩංගු විධාන සමූහයක් සහිත
විචල්යයක් වේ.
මෙම ඉරි ගස්සීම් හැඳින්වෙන්නේ සීමක
නිත්ය ප්රකාශන ලෙස ය.
සීමක පසුව ලිවිය හැක්කේ සංශෝධක - නිත්ය ප්රකාශනයේ පොදු ගුණාංග වෙනස් කරන විධාන වේ.
නිත්ය ප්රකාශන මූලික වශයෙන් සමන්විත වන්නේ අක්ෂර වර්ග දෙකකින්: ඒවායේම අර්ථය දක්වන ඒවා සහ ඒවායේම නොවන, විශේෂ අක්ෂර ලෙස හැඳින්වෙන විධාන අක්ෂර වලින් ය.
අක්ෂර සහ ඉලක්කම් ඒවායේම අර්ථය දක්වයි. පහත
උදාහරණයේ දී, අපි නිත්ය ප්රකාශනය භාවිතයෙන්
අක්ෂරය 'a' වෙනුවට '!' ආදේශනය කරන්නෙමු:
<?php
preg_replace('#a#', '!', 'bab'); // 'b!b' ආපසු එවයි
?>
කෙසේ වෙතත්, ලක්ෂය යනු විශේෂ අක්ෂරයක් වන අතර
එය ඕනෑම අක්ෂරයක් දක්වයි. පහත
උදාහරණයේ දී, අපි මෙම සැකිල්ල අනුව විචල්යයක් සොයා ගන්නෙමු:
අක්ෂරය 'x', ඉන්පසු ඕනෑම අක්ෂරයක්, ඉන්පසු
නැවතත් අක්ෂරය 'x':
<?php
preg_replace('#x.x#', '!', 'xax eee'); // '! eee' ආපසු එවයි
?>
විචල්යයක් ලබා දී ඇත:
<?php
$str = 'ahb acb aeb aeeb adcb axeb';
?>
'ahb', 'acb', 'aeb'
විචල්යයන් සොයා ගන්නා නිත්ය ප්රකාශනය ලියන්න
සැකිල්ල අනුව: අක්ෂරය 'a', ඕනෑම අක්ෂරයක්,
අක්ෂරය 'b'.
විචල්යයක් ලබා දී ඇත:
<?php
$str = 'ahb acb aeb aeeb adcb axeb';
?>
'aeeb', 'adcb', 'axeb'
විචල්යයන් සොයා ගන්නා නිත්ය ප්රකාශනය ලියන්න
සැකිල්ල අනුව: අක්ෂරය 'a', ඕනෑම අක්ෂර දෙකක්,
අක්ෂරය 'b'.