В настоящее время я разрабатываю скрипт, который принимает сообщение, разбивает его каждые 100 символов и отправляет каждую часть.preg_split - New Line
Однако моя исходная строка имеет в ней строки "\ n", и это вызывает проблему с моим preg_split, в результате чего он разбивается досрочно (например, до 100 символов).
Вот что я работаю с:
$sMessage = "Msg from John Smith \n".
"SUBJ: Hello! \n".
"This is the bulk of the message and can be well over 200 or 300 characters long. \n".
"To reply, type R 131, then ur msg.";
$split = preg_split('/(.{0,100})\s/',
$sMessage,
0,
PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
array_shift($split);
$count = count($split);
foreach ($split as $key => $message) {
$part = sprintf("(%d/%d) %s", $key+1, $count, $message);
echo $part;
echo "<br>";
}
Теперь, с этим, я заметил 3 вещи:
1) Первая часть сообщения («Msg от Джона Смита») даже не включается в массив.
2) Новые строки (\ n), кажется, режут строку раньше.
3) Как ни странно, с последней строкой сообщения («Ответить» и т. Д.) Он отсекает последнее слово («msg.») И добавляет это в новую строку, независимо от того, что предложение может быть прочитано.
Любая помощь по этому вопросу будет замечательной!
Спасибо за ответ, однако, мне нужна каждая «часть», чтобы быть отдельными частями массива, чтобы я мог отправлять каждую строку символов «100» отдельно. Используя wordwrap, это все еще одна строка. Как я могу отделить его от нескольких строк? – Dodinas