【问题标题】:Can't get str_replace() to strip out spaces in a PHP string无法让 str_replace() 去除 PHP 字符串中的空格
【发布时间】:2013-05-09 22:17:35
【问题描述】:

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

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

【问题讨论】:

  • 使用十六进制编辑器查看字节,如果空格不是十六进制中的20,则它不是“正常”空格。您可以在 PHP 中使用一个简单的函数来转换为 HEX。

标签: php string str-replace


【解决方案1】:

像这样使用修剪

TRIM($fieldname);

编辑:

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

【讨论】:

  • trim() 只会删除字符串开头和结尾的空格
  • 'trim()' 只修剪字符串的开头或结尾。在 Paul 的示例中,空格字符可能在字符串中。
【解决方案2】:

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

试试

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

【讨论】:

    【解决方案3】:

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

    你可能想试试:

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

    来自here

    【讨论】:

    • 尝试用\h+ 代替水平空格,如果需要,这将保留换行符。
    【解决方案4】:

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

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

    但如果可能是空间原因,您可以使用:

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

    【讨论】:

    • 尝试用\s+ 代替\h+ 代替水平空格,如果需要,这将保留换行符。
    【解决方案5】:
    <?php
      $fieldname = "I  am  21  Years  Old";
      $classname = str_replace(' ', '', $fieldname);
      echo $classname;
    ?>
    

    这完美运行。 该函数返回的校验值:the_sub_field('venue_title');

    【讨论】:

    • 我认为问题在于字符串没有被视为字符串。它的两边都需要一个 "。你将如何在 php 中执行此操作?例如 $fieldname = "'" . the_sub_field('venue_title') . "'";
    • 使用“”。 the_sub_field('venue_title')."" 或者可能是 ""+the_sub_field('venue_title')+""
    【解决方案6】:

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

    【讨论】:

    • 这是对这个威胁的正确答案,需要这样标记
    【解决方案7】:

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

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

    【讨论】:

    • 这里也一样。从 Wordpress 元字段检索字符串。从旧站点“复制粘贴”后保存在管理面板中,使用不同的编码...
    • 你才是真正的mvp
    猜你喜欢
    • 2012-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多