在句号之前删除空格?str_replace函数

Pat*_*son 1 php str-replace

我试图在回音之前删除句点之前的所有空格和文本中的逗号.

文本看起来像这样,并且全部都有空格.Bla bla bla ...

这是我的代码,虽然它成功删除了任何()并用"nothing"替换它:

$strip_metar = array('( )' => '', ' . ' => '. ', ' , ' => ', ');
$output_this = $text->print_pretty();
$output_this = str_replace(array_keys($strip_metar),
                           array_values($strip_metar),
                           $output_this);
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

JDi*_*rro 6

我没有50个代表所以我无法评论,但这只是为了扩展Moylin的答案:

要使其成为1个查询,请执行以下操作:

$output_this = preg_replace('/\s+(?=[\.,])/', '', $output_this);
Run Code Online (Sandbox Code Playgroud)

正则表达式的解释:

\ s匹配一个空格

+匹配1到无穷大时间.

(?=)是一个积极的前瞻.这意味着"你必须在主要群体之后找到它,但不要包含它."

[]是一组要匹配的字符.

\.是一个转义期(因为.匹配正则表达式中的任何内容)

而且,是一个逗号!