Это относительно базовое решение, и есть вещи, которые вы можете улучшить (лучшее распознавание слов, ввод 14-букв, затем дефис для прерванных слов и т. Д.), Но это должно дать вам хорошую отправную точку.
Вы также можете сделать это с помощью регулярных выражений (/[^\s]{15,}/
в качестве основной отправной точки), если вы комфортно с этим - только лошадей для курсов :-)
Сплита строки на слова:
$words = explode(' ', $message); // could also split on other punctuation or detect words more reliably here
итерация слова, чтобы увидеть если таковые> 15 букв
foreach ($words AS $key => $word) {
if (strlen($word) > 15) {
// ...
}
}
затем, когда вы его найдете, разрежьте на мелкие детали
$words[$key] = implode(' ', str_split($word, 15));
и, наконец, присоединитесь ко всему этому.
$words = implode(' ', $words);
Полный код:
$words = explode(' ', $message); // could also split on other punctuation or detect words more reliably here
foreach ($words AS $key => $word) {
if (strlen($word) > 15) {
$words[$key] = implode(' ', str_split($word, 15));
}
}
$words = implode(' ', $words);
как вы хотите разбить? добавить промежутки между ними или добавить подгибы? –
Просто хотите использовать ПРОСТРАНСТВО между двумя двумя словами SPLITTED (после разделения слова LONG) – user2854563