我是php的新手,我想知道如何在字符和符号之间或符号和符号之间添加空白,例如,原始字符串是" [PDF格式(29.71MB)] ",我如何使用函数preg_replace或其他方法将结果表示为" [PDF格式(29.71MB)] " ?例如,我想在符号"["和字符"P"以及")"answers"]"之间留下空白
多谢西蒙
$s = "[PDF format(29.71MB)]";
$s = preg_replace("/['[)](?!'s)/", "$0 ", $s);
$s = preg_replace("/(?!<'s)['[(]/", " $0", $s);
$s = trim($s);
echo $s;
两个正则表达式
- 在每个
[
或)
后面附加一个空格 - 在前面没有空格 的
]
或(
前面加一个空格见:http://ideone.com/No9dq
对于您的字符串,正则表达式对我来说看起来有点太多了:
$string = '[PDF format(29.71MB)]';
$string = str_replace(array('[', ']', '('), array('[ ', ' ]', ' ('), $string);
将需要额外空格的字符替换为它们的空格变体。
$s = "[PDF format(29.71MB)]";
$s = preg_replace("/([^'w.])/", " ''1 ", $s);
$s = preg_replace("/'s's+/", " ", $s);
echo $s;
第一个在非单词字符和点的两边各放一个空格。第二个是删除多余的空格。