Невозможно получить str_replace() для выделения пробелов в строке PHP

Привет, я получаю строку PHP, которую мне нужно удалить из пространства. Я использовал следующий код, но когда я эхо $classname, он просто отображает строку с пробелами в ней.

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

Ответ 1

Попробуйте добавить u -параметр для regex-pattern, потому что строка может иметь кодировку UTF-8:

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

Ответ 2

Если вы знаете, что пробел только из-за пробелов, вы можете использовать:

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

Но если он может быть из-за пробела, вы можете использовать:

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

Ответ 3

Проблема может заключаться в том, что символ не является пространством, а другим символом пробела.

Попробуйте

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

Ответ 4

используйте обрезку как это

TRIM($fieldname);

EDIT:

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

Ответ 5

Может быть, пространство не является пространством, а другой формой whitesspace.

Возможно, вы захотите попробовать:

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

От здесь.

Ответ 6

Проблема заключалась в том, что она тянула, а не остальную часть php. 'the_sub_field (' venue_title ')' вытаскивает поле из плагина wordpress 'Дополнительные пользовательские поля', но эта функция предназначена для отображения данных, а не для их извлечения. Вместо этого я использовал 'get_sub_field (' venue_title ')', и это сработало. приветствия за помощь

Ответ 7

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

Это работает отлично. Проверьте значение возврата этой функцией: the_sub_field('venue_title');