在PHP中添加字符和特殊符号之间的空格

时间:2011-07-24 13:55:43

标签: php

我是php的新手,我想知道如何在字符和符号或符号和符号之间添加空格,例如,原始字符串是“[PDF格式(29.71MB)]”,我该如何使用函数preg_replace或其他方法将结果表示为“[PDF格式(29.71MB)]”? 即,我想在符号“[”和字符“P”以及“)”和“]”之间留出空格。

非常感谢

西蒙

3 个答案:

答案 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;

两个正则表达式

  1. 为每个[)附加空格后面添加空格
  2. 在每个](之前添加一个空格,该空格前面没有空格
  3. 请参阅:http://ideone.com/No9dq

答案 2 :(得分:0)

$s = "[PDF format(29.71MB)]";
$s = preg_replace("/([^\w.])/", " \\1 ", $s);
$s = preg_replace("/\s\s+/", " ", $s);
echo $s;

第一个在不是单词字符的每一边都放置一个空格而不是一个点。第二个删除了多余的空格。