为什么str_replace返回的数据错误
程序员文章站
2023-12-28 21:19:10
...
例:替换英文逗号,空格字符,或者中文逗号
$str = '正确,联系我们 goodsjob,goodsjob';
$reg = array(',',' ',',' );
$strs = 'username like %'.str_replace($reg,'%, or username like %',$str).'%';
返回的数据是:username like %正确%,%, or username like %or%, or username like %username%, or username like %like%, or username like %%联系我们%, or username like %goodsjob%, or username like %goodsjob%,为什么呢?
$str = '正确,联系我们 goodsjob,goodsjob';
$reg = array(',',' ',',' );
$strs = 'username like %'.str_replace($reg,'%, or username like %',$str).'%';
返回的数据是:username like %正确%,%, or username like %or%, or username like %username%, or username like %like%, or username like %%联系我们%, or username like %goodsjob%, or username like %goodsjob%,为什么呢?
正确的结果应该是:usernme like %正确%, or username like %联系我们%, or username like %goodsjob%
回复内容:
例:替换英文逗号,空格字符,或者中文逗号
$str = '正确,联系我们 goodsjob,goodsjob';
$reg = array(',',' ',',' );
$strs = 'username like %'.str_replace($reg,'%, or username like %',$str).'%';
返回的数据是:username like %正确%,%, or username like %or%, or username like %username%, or username like %like%, or username like %%联系我们%, or username like %goodsjob%, or username like %goodsjob%,为什么呢?
正确的结果应该是:usernme like %正确%, or username like %联系我们%, or username like %goodsjob%
先把空格替换成其他字符 $str在替换的过程中,=》 %, or username like % ,这里面也存在满足你替换规则的字符串所以会影响到结果
$str = '正确,联系我们 goodsjob,goodsjob';
$str = str_replace(' ', ' ', $str);
$reg = array(',',','," ");
$strs = 'username like %'.str_replace($reg,'%, or username like %',$str).'%';
注意:
由于str_replace()函数替换左到右,它可能会进行多次替换时替换以前插入的值。
推荐阅读
-
为什么str_replace返回的数据错误
-
phpExcel导出大量数据出现内存溢出错误的解决方法
-
为什么数据分析一般用到java,而不是使用hadoop,flume,hive的api使用php来处理相关业务?
-
一个简单的表单提交,然后返回提交页面,需要相应数据解决方法
-
为什么数据分析一般用到java,而不是使用hadoop,flume,hive的api使用php来处理相关业务?
-
Flask框架返回GET请求的参数为什么会导致500 Internal Server Error?
-
解决SQL2005备份数据库.dat或bak还原时的结构错误的解决方法
-
为什么要用trim()修剪用户输入的数据?解决方法
-
为什么很多源码中的数据库取值不用对象方法呢
-
昨天写支付接口时遇到支付接口返回数据接收地址,session数据丢失(或者说失效)的问题,session数据丢失_PHP教程