"\n"
а также "\r\n"
, протестировано в текстовом сообщении, отправленном ботом telegram, для создания разрыва строки. Вместо того, чтобы показать разрыв строки, подчеркните _
появится после их использования.
Как я могу распечатать перевод строки в сообщении, отправленном ботом?
КОД
$txt = 'با تشکر از عضویت شما، هر روز حدود ساعت 10 شب یک ویدئوی جالب برای شما ارسال خواهد شد.';
$txt .= " \n ";
$txt .= 'Thanks for joining, Every day at almost 18:30 GMT an intersting video will be sent';
Любая помощь будет оценена.
Существует лучший способ! Проблема из-за URL-кодировок …
Вы можете использовать обычный текст PHP, используя \n
но, передав его urlencode
метод, следующим образом:
$txt = urlencode("here is my text.\n and this is a new line \n another new line");
Меня устраивает!
1) Если вы разрабатываете свой код в ОС Windows / Linux, вы можете просто использовать ввод в тексте:
$text = 'test 123
another text';
Это все!
2) Если ваш код работает на сервере Windows / Linux, вы можете использовать PHP_EOL
постоянный вместо \n
:
$text = 'text 123 '.PHP_EOL.'yet another text';
3) И если вы ищете решение, независимое от ОС, вы можете использовать %0A
или же chr(10)
для этого:
$text = 'text 123 '.chr(10).'yet another text';
Для будущего посетителя просто цитирую ответ @Dagon в комментариях:
С помощью %0A
сделает перевод строки в сообщениях телеграммы
Я решил проблему следующим образом:
$txt = 'aaaaaaaaa\nnew line1 \nnewline2';
$parameters = array('chat_id' => $chatId, "text" => $txt);
$parameters["method"] = "sendMessage";
echo json_encode($parameters);
попробуйте здесь: https://telegram-bot-sdk.readme.io/docs/sendmessage
Вы должны использовать urlencode для решения этой проблемы:
$text ="sth sth
sth sth";
$text = urlencode($text);
это может быть не показать результат, как вы хотите в Unicode-языках, таких как персидский!
Вы можете подготовить свой текст и использовать это:
$txt = implode("\n", explode('\n', $txt));
Чтобы избежать проблем с кодированием и кодированием, я использовал это простое решение в своем коде:
затем, Я вставляю следующий код для каждого разрыва строки:
<pre>\n</pre>
то есть.
... sendMessage?parse_mode=HTML&text="... paragraph1<pre>\n</pre>paragraph2 ..."
Конечно текст переменная была завитка перед добавлением к URL:
$text = curl_escape($handle, $text);
для меня это решение работает:
используйте двойные кавычки
$message='Hi'
$message=$message."\n";
$message=$message.'Guys'