регулярные выражения sscanf
Docs, как правило, легче ГРА зр и функция позволяет напрямую присвоить значение переменной:
$string='#229: Tomato Soup Menu';
$r = sscanf($string, "#%*d: %[^\n]", $return);
echo $return;
Это будет выводить Tomato Soup Menu
см Demo.
Если вы предпочитаете синтаксис PCRE, символ $
соответствует концу строки (или концу строки в многострочном режиме).
$string='#229: Tomato Soup Menu';
preg_match_all('/: (.*)$/', $string , $arr);
.
символ не соответствует концу строки в любом случае в стандартном режиме, так что вы можете еще больше упростить картину:
$string='#229: Tomato Soup Menu';
preg_match_all('/: (.*)/', $string , $arr);
READER: Проверьте другой ответ тоже почему использовать + и не +? – David19801
Для повторного факторинга. '/: (. *) /', как показано в ответе Хакре, приятно и коротко. – Nope