繁体   English   中英

php替换正则表达式

[英]php replace regular expression

我需要使用php在句点和下一个单词/字母之间添加空格。

例如,“这是一个句子。这是下一个。” 需要成为“这是一个句子。这是下一个。” 注意第一个句点后添加的空格。

我的问题是,即使我能够创建一个正则表达式,找到每个点后跟一个字母,我如何用“点+空格”替换该点并保留字母?

此外,它需要保持字母的大小写,低或高。

感谢您的输入。

$regex = '#\.(\w)#';
$string = preg_replace($regex, '. \1', $string);

如果您想要捕获的不仅仅是句点,您可以:

preg_replace('#(\.|,|\?|!)(\w)#', '\1 \2', $string);

只需将要替换的字符添加到first()块中即可。 不要忘记逃避特殊字符( http://us.php.net/manual/en/regexp.reference.meta.php

$str = "Will you please slow down?You're gonna kill someone.Seriously!";
echo preg_replace('/(!|\?|\.)([^\s\.\?!])/', '\1 \2', $str);
$str = "This is a sentence.This is the next one.";
echo preg_replace("#\.(\S)#", '. \1', $str);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM