替换空格的所有出现跟踪


Replace all trace of occurrences for space

如何用空格替换所有出现的文本,无论大写锁定如何?

出现:"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 批量短信的批量短信