Используйте одинарные кавычки.Я не могу подчеркнуть это достаточно.Также $
является метасимволом конца строки.Я сомневаюсь, что вы хотите это при разделении.
Возможно, вы захотите использовать что-то более похожее на preg_match_all
для вашего соответствия:
$matches = array();
preg_match_all('#(.*?)\s-\s(\d{1,2})\s*#', $item->title, $matches);
var_dump($matches);
Производит:
array(3) {
[0]=>
array(3) {
[0]=>
string(17) "a few words - 25 "
[1]=>
string(22) "some more - words - 7 "
[2]=>
string(29) "another - set of - words - 13"
}
[1]=>
array(3) {
[0]=>
string(11) "a few words"
[1]=>
string(17) "some more - words"
[2]=>
string(24) "another - set of - words"
}
[2]=>
array(3) {
[0]=>
string(2) "25"
[1]=>
string(1) "7"
[2]=>
string(2) "13"
}
}
Думаете, вы можете извлечь нужную информацию из этой структуры?