Обрезать строку с русскими символами, сохраняя html теги

Extalionez

Клоун
Заблокирован
Регистрация
21 Авг 2008
Сообщения
368
Реакции
191
  • Автор темы
  • Заблокирован
  • #1
Доброго времени суток! В принципе из названия темы всё ясно - имеем строку примерно следующего содержания
PHP:
$string ="<span style=\"font-size: 14pt; line-height: 150%; font-family: 'Times New Roman', serif;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Евреем можешь ты не быть, но в Израиль ехать надо. Обязательно! И я поехала. </span>"
Вот как бы её обрезать до максимум например 20 символов, именно текста, сохраняя теги, но обрезая текст чтобы в итоге получить например
PHP:
$string ="<span style=\"font-size: 14pt; line-height: 150%; font-family: 'Times New Roman', serif;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Евреем можешь ты не </span>"
Странно, но google не помог, да и в самом php я нашёл только Для просмотра ссылки Войди или Зарегистрируйся:oops:
 
PHP:
$string ="<span style=\"font-size: 14pt; line-height: 150%; font-family: 'Times New Roman', serif;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Евреем можешь ты не быть, но в Израиль ехать надо. Обязательно! И я поехала. </span>";
 
function replace_cb($matches) {
    return strlen($matches[0]) > 20 ? substr($matches[0], 0, 20) : $matches[0];
}
 
$res = preg_replace_callback('#[а-яА-Я\s.,!?]+#', 'replace_cb', $string);
 
echo $res;
 
Назад
Сверху