PHP вставлять <br /> всякий раз, когда длина подстроки превышает x символов - PullRequest
1 голос
/ 21 марта 2011

Я пытаюсь создать некоторый код PHP, который будет проверять длину отдельных подстрок в строке и вставлять «<br />» всякий раз, когда длина подстроки превышает x символов.

Строка всегда имеет следующую форму:
ааа bbbbwer sdfr <br /> ert tyuo sdh <br /> ryt kkkkkkkkkkkk sdfg

Итак, скажите x = 5, тогда я хочу, чтобы эта строка была преобразована в:
ааа bbbbw <br /> er sdfr <br /> ert tyuo sdh <br /> ryt kkkkk <br /> kkkkk <br /> kk sdfg

Как мне это сделать? Пожалуйста, помогите!

Большое спасибо.

Ответы [ 3 ]

4 голосов
/ 21 марта 2011

Я думаю, вы можете попробовать WordWrap

<?php
$text = "The quick brown fox jumped over the lazy dog.";
$newtext = wordwrap($text, 20, "<br />\n");

echo $newtext;
?>

Результат

The quick brown fox<br />
jumped over the lazy<br />
dog.
2 голосов
/ 21 марта 2011

Вы можете нарезать слова, содержащие более x символов, используя следующий код.

Сначала строка будет разбита на строки с помощью функции explode().Взрывается на тегах <br />.Затем он будет перебирать строки и разбивать строку на слова для каждой строки.Затем к каждому слову добавляется <br /> после каждых 5 символов.и добавьте отредактированную строку в переменную $new_string.После этого отображается переменная $new_string для отображения отредактированной строки.

  • Чтобы изменить максимальную длину слова, просто измените переменную $max_length.
  • Чтобы изменить строку ввода, просто измените переменную $string.

Код

$string      = 'aaa bbbbwer sdfr<br />ert tyuo sdh<br />ryt kkkkkkkkkkkk sdfg';
$max_length  = 5;

$lines       = explode('<br />', $string);
$new_string  = '';

foreach($lines as $line)
{
    $words = explode(' ', $line);

    foreach($words as $word)
    {
        $new_string .= substr(chunk_split($word, $max_length, '<br />'), 0, -6) . ' ';
    }

    $new_string = substr($new_string, 0, -1) . '<br />';
}

echo $new_string;

Выход

aaa bbbbw<br />er sdfr<br />ert tyuo sdh<br />ryt kkkkk<br />kkkkk<br />kk sdfg<br />
0 голосов
/ 21 марта 2011

А функция wordwrap не делает то, что вы хотите?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...