Форматировать строку после ближайшего разделителя - PullRequest
0 голосов
/ 27 февраля 2020

Мне нужно создать функцию PHP, которая занимает длинный абзац и разбивает на 40 символов новую строку. Суть в том, что он не должен разбиваться ровно на 40 символов, потому что это может создать очевидные проблемы.

Как мне сделать так, чтобы он разрывался в ближайшем разделителе (.,:?!) До 40-символьной отметки?

Редактировать: Код из потока @NicoHaase, упомянутого Строка форматирования после ближайшего разделителя

имеет этот фрагмент

$ WidgetText = substr ($ string, 0, strrpos (substr ($ string, 0, 200), '.')) ;

, что примерно так же, как я нашел решение, когда искал себя. Что меня сейчас интересует, так это как мне изменить его так, чтобы он разбивался на каждые 40 символов?

1 Ответ

0 голосов
/ 27 февраля 2020

То, как я это сделал, это посмотреть на символ, где вам нужно разделить, в вашем положении 40. Если это разделитель, разделите там, если это не так, работайте назад вдоль строки, пока не найдете подходящий split.

a = "big long paragraph of stuff ....."
b = 40
while (b> 0) {
   if mid(a,b,1) = separator character {
      split the string here
      exit the loop }
    b--
}

псевдокод, очевидно.

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