Mar*_*rko 6 php string replace
如果你有字符串
'Old string Old more string Old some more string'
Run Code Online (Sandbox Code Playgroud)
而且你想得到
'New1 string New2 more string New3 some more string'
Run Code Online (Sandbox Code Playgroud)
你会怎么做?
换句话说,您需要用变量字符串'New'替换'Old'的所有实例.$ i.有什么建议?
迭代解决方案,不需要正则表达式
$str = 'Old string Old more string Old some more string';
$old = 'Old';
$new = 'New';
$i = 1;
$tmpOldStrLength = strlen($old);
while (($offset = strpos($str, $old, $offset)) !== false) {
$str = substr_replace($str, $new . ($i++), $offset, $tmpOldStrLength);
}
Run Code Online (Sandbox Code Playgroud)
$offsetin strpos()只是一点点微优化.我不知道,如果它值得(事实上我甚至不知道,如果它改变了什么),但我们的想法是,我们不需要$old在子串中搜索,已经处理过了.
见演示
Old string Old more string Old some more string
New1 string New2 more string New3 some more string
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7216 次 |
| 最近记录: |