Вы должны использовать substr
$string = '"Above all," said British Prime Minister David Cameron, "what I think matters is building the evidence and the picture so we hold this criminal regime to account, and to make sure it is held to account for crimes that it is committing against its people." He spoke to reporters outside a meeting of leaders of the European Union in Brussels, Belgium.';
//specify the number after which the string should be cut
$string_cut_position = 5;
$new_string = substr($string, 0, $string_cut_position);
Чтобы удалить специальный символ, например: "&*$%>
$new_string = preg_replace('/["&*$%>]/i', '', $new_string);
Если вы хотите удалить все не алфавитно-цифровые символы, вы можете использовать
$new_string = preg_replace("/[^a-zA-Z0-9\s]/", "", $new_string );
Надеюсь, это поможет:)
РЕДАКТИРОВАТЬ:
Извините, неправильно прочитал вопрос. я думал о сокращении букв: (
Вы можете попробовать
//specify the number after which the string should be cut
$words_cut_position = 5;
$new_string = array_slice(explode(' ', $string, $words_cut_position + 1), 0, $words_cut_position);
$output_string = implode(' ', $new_string);
Надеюсь, это поможет:) ..