PHP: использование preg_match для обрезки символов продолжается '-'

1

У меня есть несериализованный массив, я пытаюсь изменить строку в массиве и удалить символы, идущие и включающие дефис.

Строка выглядит так: длина не всегда регулярна, хотя "SOMETEXT - 150 x 50"

Я попытался выполнить регулярное выражение, но это не сработало, это моя первая попытка создать регулярное выражение.

$item['options']['Size'] = preg_replace('/^[^-]*,\s*/', '', $item);

Если бы кто-то не возражал, указывая на меня в правильном направлении, это было бы фантастически.

  • 0
    Какой ваш желаемый результат? ваш вопрос вроде неясен
  • 0
    Извините, я пытаюсь удалить все символы, следующие за дефисом в строке: 'SOMETEXT - 150 x 50'
Теги:
preg-match

1 ответ

2
Лучший ответ
preg_replace('/-[^-]*$/', '', $item);

Это должно сделать это за вас.

  • 0
    Это фантастично. Это будет довольно обычной задачей для меня, из интереса, как бы я сконфигурировал этот reg ex для удаления всего, что предшествует дефису? Я пытаюсь разобраться с синтаксисом. Спасибо
  • 1
    @LiamFell ^[^-]* должен это сделать
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню