Substr, чтобы исключить определенный текст - используя список get_the_title()
Допустим, у меня есть список заголовков в WordPress, например. Название товара - (США)
Я хотел бы вернуть только имя элемента, чтобы все после -
не возвращается
Один улов не у всех заголовков в моем списке есть -
и те, которые не возвращают пробел, когда я использую код ниже:
$str = get_the_title();
$str = substr($str, 0, strpos($str, '-'));
echo $str;
Любая идея, как заставить его не возвращать пробелы в заголовках без дефиса -
?
1 ответ
Способ регулярных выражений
Используйте preg_replace(), а затем просто обрезайте () результат.
$string = 'Item Name - (USA)';
var_dump(trim(preg_replace('~-.*$~', null, $string)));
Возвращает:
string(9) "Item Name"
Объяснение:
preg_replace('~-.*$~', null, $string)
Поймай всех персонажей с первого раза-
до конца строки и заменить ихnull
,trim($string)
И удалите пробельные символы с обеих сторон строки.
Нерегулярный способ выражения
Используйте explode () и reset (), чтобы разделить строку и получить первый член из результирующего массива, а затем обрезать его.
$string = 'Item Name - (USA)';
var_dump(trim(reset(explode("-", $string))));
Возвращает:
string(9) "Item Name"