У меня есть строки
TEST #1 - Description
TEST #2 / Description
...
Мне нужно получить строку раньше #
но с #1
, выход: TEST #1
strstr($str, '#', true);
Эти выходные данные кода: ТЕСТОВОЕ ЗАДАНИЕ я нуждаюсь ТЕСТ № 1
Если формат соответствует (слово пространство # цифры) затем:
$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
Других решений пока нет …