Rakovskiy, это $label = str_replace('-', ' ', $item); лучше заменить на это $label = preg_replace('|[^0-9а-яa-z]|ui', ' ', $item);, т.к. str_replace не все кракозяблы в исходнике убирает.
Rakovskiy, это $label = str_replace('-', ' ', $item); лучше заменить на это $label = preg_replace('|[^0-9а-яa-z]|ui', ' ', $item);, т.к. str_replace не все кракозяблы в исходнике убирает.