Php 正则表达式删除空格

Php 正则表达式删除空格,php,regex,Php,Regex,我试图从一个简单的字符串中去掉空格,但似乎被正则表达式卡住了 字符串如下所示: $string = '"4 " <sup>5</sup> "6 "<sup>7</sup>'; 但到目前为止还不走运。。你知道我把事情复杂化了吗 谢谢你能试试这个吗 $new = preg_match('/"([0-9])\s+"/is', '"$1"', $string); 这与“数字空格”匹配,只保留“数字”部分。如果要替换字符串中的每个空格,为什么要担心正则表

我试图从一个简单的字符串中去掉空格,但似乎被正则表达式卡住了

字符串如下所示:

$string = '"4 " <sup>5</sup> "6 "<sup>7</sup>';
但到目前为止还不走运。。你知道我把事情复杂化了吗

谢谢你能试试这个吗

$new = preg_match('/"([0-9])\s+"/is', '"$1"', $string);

这与“
数字
空格
”匹配,只保留“
数字
”部分。

如果要替换字符串中的每个空格,为什么要担心正则表达式?为什么不替换字符串中的所有空格

$newString=str_replace(" ","",$yourString);

这似乎是最直接的方法来获得你在问题中的要求?

根据我的理解,你试图在结束引用之前删除空格

$string = '"4 " <sup>5</sup> "6 "<sup>7</sup>';
print preg_replace('/"([^\s"]+)\s*"/', '"$1"', $string);
# "4" <sup>5</sup> "6"<sup>7</sup>
$string='“4”5“6”7';
打印预替换(“/”([^\s“]+)\s*“/”、“$1”、$string);
# "4" 5 "6"7

请稍作解释。删除哪些空格和保留哪些空格的规则是什么?是“字母数字字符后的空格”还是“结束引号字符前的空格”"? 还是别的?结束报价前的空格需要删除。不幸的是,这样做并不理想。提供的字符串就是一个例子。如果我有一个完全相同的字符串的段落,它会删除每个空格。
$string = '"4 " <sup>5</sup> "6 "<sup>7</sup>';
print preg_replace('/"([^\s"]+)\s*"/', '"$1"', $string);
# "4" <sup>5</sup> "6"<sup>7</sup>