php中如何删除一个字符串中的指定字符及其后面的n个字符

比如$a=asdad lx=1 asdasasd
我要删除lx=1和后面的一个空格
得到的结果如下$a=asdad asdasasd
用PHP如何实现???
这个变量$a是一个sql语句,里面有很多空格,而且lx=后面单的值是不确定的,用你们的方法可能很难实现,有没有什么更好的方法,或者能够单独替换lx=后面的值也行。

简单的可以实现你的功能,如果是汉字的话可能会有问题,这个没有测试:

$str = "agyhsdwrryoqASDFFDGHFGJER235234523";

function tusub($str, $flag, $long){

// 获取指定字符串到其后面n个长度后的字符串
$index = strpos($str, $flag);
$tempstr  = substr($str, $index, $long+strlen($flag));

// 以上面得到的字符串把原字符串分隔成两个字符串
$index2 = strpos($str, $tempstr);
$str1 = substr($str, 0, $index2);
$str2 = substr($str, $index2 + strlen($tempstr));

// 把一头一尾两个字符串拼接好输出
return $str1.$str2;
}

// 删除字符串$str中GJ开始往后的5个字符串
echo tusub($str, 'gy', 1);

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-15
$pieces = explode (" ", $a);
用这个函数把你那个字符串分割后就可以删了
第2个回答  推荐于2016-05-30
$string="asdad lx=1 asdasasd";
$pattern = '/lx=\S ?/i';
$replacement = '${1}1,$3';
echo preg_replace($pattern, $replacement, $string);本回答被提问者采纳
第3个回答  2012-05-15
$a = str_replace('lx=1 ', '', $a);
相似回答