Ответ 1
Попробуйте добавить u -параметр для regex-pattern, потому что строка может иметь кодировку UTF-8:
$classname = preg_replace('/\s+/u', '', $fieldname);
Привет, я получаю строку PHP, которую мне нужно удалить из пространства. Я использовал следующий код, но когда я эхо $classname
, он просто отображает строку с пробелами в ней.
<?php
$fieldname = the_sub_field('venue_title');
$classname = str_replace(' ', '', $fieldname);
echo $classname;
?>
Попробуйте добавить u -параметр для regex-pattern, потому что строка может иметь кодировку UTF-8:
$classname = preg_replace('/\s+/u', '', $fieldname);
Если вы знаете, что пробел только из-за пробелов, вы можете использовать:
$classname = str_replace(' ','',$fieldname );
Но если он может быть из-за пробела, вы можете использовать:
$classname = preg_replace('/\s+/','',$fieldname )
Проблема может заключаться в том, что символ не является пространством, а другим символом пробела.
Попробуйте
$classname = preg_replace('/\s/', '', $fieldname);
используйте обрезку как это
TRIM($fieldname);
EDIT:
preg_replace('/\s+/', '', $fieldname);
Может быть, пространство не является пространством, а другой формой whitesspace.
Возможно, вы захотите попробовать:
$classname = preg_replace('/\s+/', '', $fieldname);
От здесь.
Проблема заключалась в том, что она тянула, а не остальную часть php. 'the_sub_field (' venue_title ')' вытаскивает поле из плагина wordpress 'Дополнительные пользовательские поля', но эта функция предназначена для отображения данных, а не для их извлечения. Вместо этого я использовал 'get_sub_field (' venue_title ')', и это сработало. приветствия за помощь
<?php
$fieldname = "I am 21 Years Old";
$classname = str_replace(' ', '', $fieldname);
echo $classname;
?>
Это работает отлично.
Проверьте значение возврата этой функцией: the_sub_field('venue_title')
;