我想删除所有空格

时间:2016-03-16 23:59:56

标签: php regex

我有一个字符串,类似于下面的例子,

assd *AA*the fox saw the outcome     *EAA*saassdsd  

我想使用正则表达式删除 AA EAA 之间的空格。使用下面的代码我可以突出显示 AA EAA 之间的所有内容,但我只希望突出显示所有空格。我相信这个(。*)正在对所有角色进行分组。有人能指出我正确的方向吗?

 \*AA\*(.*)\*EAA\*

1 个答案:

答案 0 :(得分:1)

根据您的问题,您似乎想要从给定字符串中删除所有空格。

function sanitize($string)
{
    $re = "/^(.*?AA)(.*)(EAA.*)$/i";

    preg_match_all($re, $string, $matches);

    if($matches) {
        $p1 = $matches[1][0];
        $p2 = $matches[2][0];
        $p3 = $matches[3][0];

        $p2 = preg_replace("/\\s+/", "", $p2);

        $result = $p1.$p2.$p3;
        return $result;
    }
    return $string;
}

$str = "assd *AA*the fox saw the outcome     *EAA*saassdsd ";
print(sanitize($str))

这将呈现:

assd *AA*thefoxsawtheoutcome*EAA*saassdsd