使用str_reve使它只在第一次匹配时起作用?

使用str_reve使它只在第一次匹配时起作用?

我想要一个版本的str_replace()的第一次出现。$search$subject..这是一个简单的解决方案,还是我需要一个笨拙的解决方案?



子衿沉夜
浏览 380回答 3
3回答

开满天机

可以用PRIG替换:function str_replace_first($from, $to, $content){     $from = '/'.preg_quote($from, '/').'/';     return preg_replace($from, $to, $content, 1);}echo str_replace_first('abc', '123', 'abcdef abcdef abcdef');      // outputs '123def abcdef abcdef'魔术在可选的第四个参数[限制]中。从文件中:[限制]-每个主题字符串中每个模式的最大可能替换量。默认值为-1(无限制)。

慕尼黑5688855

它没有版本,但解决方案一点也不烦琐。$pos = strpos($haystack, $needle);if ($pos !== false) {     $newstring = substr_replace($haystack, $replace, $pos, strlen($needle));}非常简单,并且节省了正则表达式的性能损失。奖金:如果你想替换最活的,刚过去的发生了,就用strrpos代替strpos.
打开App,查看更多内容
随时随地看视频慕课网APP