Как получить строку перед символом

У меня есть строки

TEST #1 - Description
TEST #2 / Description
...

Мне нужно получить строку раньше # но с #1, выход: TEST #1

strstr($str, '#', true);

Эти выходные данные кода: ТЕСТОВОЕ ЗАДАНИЕ я нуждаюсь ТЕСТ № 1

0

Решение

Если формат соответствует (слово пространство # цифры) затем:

$parts  = explode(' ', $str);
$result = $parts[0] . ' ' . $parts[1];

Я предполагаю, что число может состоять из нескольких цифр, поэтому вам понадобится регулярное выражение:

preg_match('/[^#]+#\d+/', $str, $match);
echo $match[0];

Если вам нужно несколько из одной строки, то:

preg_match_all('/[^#]+#\d+/', $str, $matches);
print_r($matches[0]);

В любом случае вы подходите:

  • [^#]+ один или больше + НЕ ^ # персонажи
  • С последующим # персонаж
  • Вслед за одним или несколькими + цифры \d
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]