12

嗨,我得到了一个 PHP 字符串,我需要去掉其中的空格。我使用了以下代码,但是当我回$classname显它时,它只显示字符串中仍然带有空格。

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

7 回答 7

29

尝试为正则表达式模式添加u -参数,因为字符串可以具有 UTF-8 编码:

$classname  =  preg_replace('/\s+/u', '', $fieldname);
于 2014-01-27T19:57:05.167 回答
16

如果您知道空白只是由于空格,您可以使用:

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

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

$classname = preg_replace('/\s+/','',$fieldname )
于 2013-05-15T11:13:47.037 回答
5

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

尝试

$classname = preg_replace('/\s/', '', $fieldname);
于 2013-05-15T11:10:03.103 回答
3

像这样使用修剪

TRIM($fieldname);

编辑:

preg_replace('/\s+/', '', $fieldname);
于 2013-05-15T11:09:42.653 回答
2

问题是它正在拉动的领域,而不是 php.ini 的其余部分。'the_sub_field('venue_title')' 从 wordpress 插件 'Advanced Custom Fields' 中提取一个字段,但此函数旨在显示数据而不仅仅是检索它。相反,我使用了'get_sub_field('venue_title')'并且它起作用了。为帮助欢呼

于 2013-05-15T15:41:14.803 回答
2

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

您可能想尝试:

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

这里

于 2013-05-15T11:10:53.980 回答
0
<?php
  $fieldname = "I  am  21  Years  Old";
  $classname = str_replace(' ', '', $fieldname);
  echo $classname;
?>

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

于 2013-05-15T11:22:42.553 回答