我想用preg_replace
替換字符串中的字或字符串序列? 例如:如何用PHP替換字符串中的特定子字符串preg_replace
更改這些:
ABCExample to abcExample
AnotherExample to anotherExample
XyzAbcExample to xyzAbcExample
離開,因爲它是:
xyzExample to xyzExample
new to new
我想用preg_replace
替換字符串中的字或字符串序列? 例如:如何用PHP替換字符串中的特定子字符串preg_replace
更改這些:
ABCExample to abcExample
AnotherExample to anotherExample
XyzAbcExample to xyzAbcExample
離開,因爲它是:
xyzExample to xyzExample
new to new
您需要使用preg_replace_callback
功能。
$str = <<<EOT
ABCExample
AnotherExample
XyzAbcExample
xyzExample
new
EOT;
echo preg_replace_callback('~(?m)^[A-Za-z]*?(?=(?:[A-Z][a-z]+)+$)~', function ($m)
{
return strtolower($m[0]);
}, $str);
我猜你正在尋找str_ireplace
。
該函數返回字符串或與給定的替換替換 值在受試者(忽略大小寫) 搜索的所有匹配的陣列。如果你不需要更換規則,你通常應該使用 而不是preg_replace()和i修飾符。
示例代碼(和sample program):
$res1 = str_ireplace("abc", "xyz", "ABCExample to abcExample");
echo $res1;
輸出:xyzExample to xyzExample
*我想*在哪裏?我沒有看到任何嘗試 – Rizier123 2015-04-02 11:45:52
爲什麼不使用爆炸? – Priyank 2015-04-02 11:47:20
這裏有什麼問題?該功能有很好的文檔記錄,並附有清晰的例子。當事情沒有如預期的那樣工作時,你會閱讀文檔,不是嗎? http://php.net/manual/en/function.preg-replace.php – arkascha 2015-04-02 11:49:42