这类替换最好不好使用正则表达式,因为你搜索的内容的唯一的无需使用正在,而且替换的文本较大正则效率太低。
10多年专注建站、设计、互联网产品按需求定制制作服务,业务涵盖成都品牌网站建设、成都做商城网站、微信小程序、软件系统开发、app开发定制等。凭借多年丰富的经验,我们会仔细了解每个客户的需求而做出多方面的分析、设计、整合,为客户设计出具风格及创意性的商业解决方案,成都创新互联更提供一系列网站制作和网站推广的服务,以推动各中小企业全面信息数字化,并利用创新技术帮助各行业提升企业形象和运营效率。
方法是找到这两个特殊字符串的位置,然后使用substr删除中间部分,例子代码:
$str='....你要处理的字符串.....';
$s1='...开始字符串...';
$s2='...结束字符串...';
$i1=strpos($str,$s1);//开始位置
$i2=strpos($str,$s2);//结束位置
if
($i1!==false
$i2!==false)//找到
$str=substr($str,0,$i1-1)
.
substr($str,$i2+strlen($s2));
纯sql的话,应该实现不了,相似的这个应该还是PHP来处理的,排第三的都没有相似的内容了,也要显示。那就是所有的数据,然后再foreach来做对比判断,我觉得可以将字符串分为数组,然后对比两个数组的交集个数,再按交集的个数来排序
复制PHP手册上的解释:
strcmp — 二进制安全字符串比较
说明
int strcmp ( string $str1 , string $str2 )
注意该比较区分大小写。
参数
str1
第一个字符串。
str2
第二个字符串。
返回值
如果 str1 小于 str2,返回负数;如果 str1 大于 str2,返回正数;二者相等则返回 0。