我是php的新手,我想知道如何在字符和符号或符号和符号之间添加空格,例如,原始字符串是“[PDF格式(29.71MB)]”,我该如何使用函数preg_replace或其他方法将结果表示为“[PDF格式(29.71MB)]”? 即,我想在符号“[”和字符“P”以及“)”和“]”之间留出空格。
非常感谢
西蒙
答案 0 :(得分:1)
对于你的字符串,正则表达式对我来说有点太多了:
$string = '[PDF format(29.71MB)]';
$string = str_replace(array('[', ']', '('), array('[ ', ' ]', ' ('), $string);
这将替换需要额外空格的字符及其带有空格的变体。
答案 1 :(得分:1)
$s = "[PDF format(29.71MB)]";
$s = preg_replace("/[\[)](?!\s)/", "$0 ", $s);
$s = preg_replace("/(?!<\s)[\[(]/", " $0", $s);
$s = trim($s);
echo $s;
两个正则表达式
[
或)
附加空格后面添加空格]
或(
之前添加一个空格,该空格前面没有空格答案 2 :(得分:0)
$s = "[PDF format(29.71MB)]";
$s = preg_replace("/([^\w.])/", " \\1 ", $s);
$s = preg_replace("/\s\s+/", " ", $s);
echo $s;
第一个在不是单词字符的每一边都放置一个空格而不是一个点。第二个删除了多余的空格。