无法使用str_replace()去除PHP字符串中的空格

时间:2013-05-15 11:07:49

标签: php string str-replace

嗨,我得到一个PHP字符串,我需要删除空格。我使用了以下代码但是当我回显$classname时,它只显示仍然包含空格的字符串。

   <?php
     $fieldname = the_sub_field('venue_title');
     $classname = str_replace(' ', '', $fieldname);
     echo $classname;
   ?>

7 个答案:

答案 0 :(得分:21)

尝试为regex-pattern添加 u 参数,因为字符串可以采用UTF-8编码:

$classname  =  preg_replace('/\s+/u', '', $fieldname);

答案 1 :(得分:17)

如果您知道空格仅由于空格,您可以使用:

$classname = str_replace(' ','',$fieldname ); 

但如果可能是由于空间,您可以使用:

$classname = preg_replace('/\s+/','',$fieldname )

答案 2 :(得分:5)

问题可能是字符不是空格,而是另一个空白字符。

尝试

$classname = preg_replace('/\s/', '', $fieldname);

答案 3 :(得分:3)

像这样使用修剪

TRIM($fieldname);

编辑:

preg_replace('/\s+/', '', $fieldname);

答案 4 :(得分:2)

可能是空间不是真正的空间,而是其他形式的白色空间。

您可能想尝试:

$classname = preg_replace('/\s+/', '', $fieldname);

来自here

答案 5 :(得分:2)

问题在于它正在拉动的领域,而不是其他的PHP。 'the_sub_field('venue_title')'从wordpress插件'高级自定义字段'中提取字段,但此函数用于显示数据而不是仅检索它。相反,我使用'get_sub_field('venue_title')'并且它有效。欢呼帮助

答案 6 :(得分:0)

<?php
  $fieldname = "I  am  21  Years  Old";
  $classname = str_replace(' ', '', $fieldname);
  echo $classname;
?>

这完美运行。 通过此函数检查值返回:the_sub_field('venue_title');