В настоящее время я разрабатываю скрипт, который принимает сообщение, разделяет его на каждые 100 символов или около того и отправляет каждую часть.
Однако в моей исходной строке есть строки "\ 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) Первая часть сообщения («Сообщение от Джона Смита») даже не включается в массив.
2) Кажется, что новые строки (\ n) обрезают строку раньше.
3) Как ни странно, в последней строке сообщения («Ответить» и т. Д.) Оно обрезает последнее слово («сообщение») и добавляет его в новую строку, независимо от того, какое предложение может читать.
Любая помощь в этом была бы великолепна!