php处理一串字符

来源:百度知道 编辑:UC知道 时间:2024/05/24 00:59:54
例子:今天A*天气 - 好

怎么样处理成,今天A - 好
简单的说就是去掉*号后与*号后第一个空格之间的字符

可以使用正则表达式preg_replace进行替换,*开始直到第一个空格的内容,可以用这样的正则表达式表示/\*[^ ]* /,说明:两个/是正则表达式的定界符,\*表示一个*,[^ ]表示除了空格之外的字符,[^ ]*表示多个非空格字符,例子程序如下:

<?php
$s = "今天A*天气 - 好天A*天气 - 好";
echo preg_replace('/\*[^ ]* /','',$s);
?>

试试这个:

$str = "今天A*天气 - 好";

$new_str = substr($str,0,strpos($str,"A")+1).substr($str,strrpos($str,"-")-1);

echo $new_str;

我测试过了,这个可以的。输出结果如下:

今天A - 好

第一个substr,取A之前的字符(包括A)。
第二个substr,取-之后的字符(包括-跟之前的一个空格)。

同样道理,你可以改变一下substr第三个参数的大小,来改变所取得的字符串长度。

<?
$s = "今天A*天气 - 好天A*天气 - 好";
echo preg_replace('/\*(.+?) /','',$s);
?>