从字符串开头和结尾删除空格

26

我对正则表达式还不是很熟悉。 我需要清除搜索字符串开头和结尾的空格。 例如:" search string " 结果应该是:"search string"

我有一个在JavaScript中能够工作的模式,但我无法通过preg_replace在PHP中使其工作:

JavaScript中有效的模式:

/^[\s]*(.*?)[\s]*$/ig

我的例子:

$string = preg_replace( '/^[\s]*(.*?)[\s]*$/si', '', " search string " );
print $string; //returns nothing

解析时告诉我无法识别g,所以我必须将其删除并将ig改为si。


这是一个略微不同的问题,与https://dev59.com/JFPTa4cB1Zd3GeqPlbCf不同,该问题询问如何仅删除字符串末尾的空格,而我的问题是针对开头和结尾。解决此问题的方法与@daron提出的问题不同。 - Alex
2个回答

74

如果只是空格,为什么不直接使用trim()函数呢?


6

没错,我想你应该使用trim()。但如果你真的想要那个正则表达式,那么它在这里:

((?=^)(\s*))|((\s*)(?>$))

1
谢谢,这个解决方案也可以:preg_replace( '/^((?=^)(\s*))|((\s*)(?>$))/si', '', " asd asd " ); - Alex

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接