Выделение наименьшего предложения из строки
Как можно в пхп выделить из строки
$string = "Первое предложение. Второе предложение. Тр предл.";
Каждое предложение в массив сравнить их по длине и вывести самое короткое или просто обернуть самое короткое в span?
При этом надо учитывать что последнее предложение может не заканчиваться знаком препинания.
Используйте функцию explode()
$string_array = explode('. ', $string);Она разобьет строку в массив, разделитесь ._ (точка пробел)
Последние предложение будет 3 элементом массива с индексом 2.
Дальше работа за Вами...
$string = "Первое предложение. Второе предложение. Тр предл."; $string_arr = explode('. ', $string ); $lens = array(); foreach( $string_arr as $str ) $lens[ mb_strlen( $str ) ] = $str; // получим ключ самого маленького предложения $p_key = min( array_keys( $lens ) ); $p = $lens[ $p_key ]; // Тр предл. echo str_replace( $p, '[span]'. $p .'[/span]', $string ); // получим: // Первое предложение. Второе предложение. [span]Тр предл.[/span]