preg_replace( '/^\W*(.*?)\W*$/', '$1', $string )
/* -----------------------------------------------------------------------------------
^ the beginning of the string
\W* non-word characters (all but a-z, A-Z, 0- 9, _) (0 or more times (matching the most amount possible))
( group and capture to \1:
.*? any character except \n (0 or more times(matching the least amount possible))
) end of \1
\W* non-word characters (all but a-z, A-Z, 0-9, _) (0 or more times (matching the most amount possible))
$ before an optional \n, and the end of the string
------------------------------------------------------------------------------------- */
3条答案
按热度按时间tyky79it1#
首先,
trim()
以相反的顺序接受参数:$str
,然后$character_mask
。因此,您应该使用:$post_Value = trim($str, "_");
第二,
trim()
只从字符串的开头和结尾 * 开始对掩码字符 * 进行字符串化,如果掩码字符被非掩码字符包围,它不会从字符串中删除任何掩码字符。实际上,您应该将 *
str_replace()
与一个空替换字符串 * 一起使用(您已经尝试过将一个空格作为替换):如果您还想删除
<br>
标记(在其典型变体中),可以通过单个str_replace()
调用来完成,如下所示:有关详细信息,请参见
str_replace()
文档。8zzbczxx2#
我找到了一些
当我查看页面资源时,我的代码中没有它们,所以这很混乱。最后我不得不像这样组合str_replace()和rtrim():
ukdjmx9f3#
尝试