如何用空格替换所有出现的文本,无论大写锁定如何?
出现:"ksm"(带或不带大写锁定字母)到"k sm"
例子:
"BulkSMS" to "Bulk SMS"
"BULKSMS" to "BULK SMS"
"BulkSMSs" to "Bulk SMSs"
"bulksms´s" to "bulk sms´s"
"bulkSMS(dot)com" to "bulk SMS(dot)com"
"bulksms@domain.com" to "bulk sms@domain.com"
...
您可以
简单地将preg_replace
与以下regex
/((bulk)(sms))/i
说明:使用case-insensitive
字符串的修饰符捕获单词bulksms
i
$str = "bulksms bulKsms bulKSMS BulkSMS BULKSMS bulkSMS(dot)com bulksms´s BulkSMSs";
echo preg_replace("/((bulk)(sms))/i","$2 $3",$str);
即使您的问题不是很具体,我想您想在 php 中执行此操作,因此您可以使用preg_replace_callback:
$strinToParse = 'test: bulksms bulKsms bulKSMS BulkSMS BULKSMS bulkSMS(dot)com bulksms´s BulkSMSs';
$string = preg_replace_callback('/(ksm)/i', function ($matches) { return 'k sm';}, $strinToParse);
会回来
测试: 批量短信 批量短信 批量 smS 批量smS BULk smS 批量短信(点)com 批量短信的批量短信