如何解决str_replace大小写或替换顺序含混不清
|| str_replace有奇怪的问题。 这是我的代码:function replace_text($text) {
$array = array(
\':big\' => \'BIG\',\':bigs\' => \'BIIIGSS\',);
问题是当我输入bigs
(带有s)时,代码仅将文本转到BIGs
,而不是BIIIGSS
。
解决方法
好吧,大牌也可以匹配大牌,不是吗?更改顺序,以便检查大数是否首先匹配:
function replace_text($text) {
$array = array(
\':bigs\' => \'BIIIGSS\',\':big\' => \'BIG\',);
, 尝试使用不区分大小写的str_ireplace()
。
发生的情况是当它到达数组中的第二个元素时,值为BIGs
,因此小写字母bigs
不存在,因此没有被替换。
, 我怀疑这是您完整的代码,但仅仅是对多次调用str_replace
的函数的函数调用?
如果是这样,那么您可能首先进行第一个替换,因此字符串ѭ1now现在是BIGs
。然后运行第二个替换,但是现在您找不到小写字符串bigs
。
如手册所述,str_replace从左到右进行替换。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。