php telegram-bot linefeed

PHP: Telegram Bot: Insertar salto de línea a mensaje de texto



telegram-bot linefeed (8)

¡Hay una mejor manera! El problema se debe a las codificaciones de URL ... Puede usar texto PHP normal usando /n pero pasándolo al método urlencode , de la siguiente manera:

$txt = urlencode("here is my text./n and this is a new line /n another new line");

¡Esto funciona para mi!

"/n" y "/r/n" , probado en un mensaje de texto enviado por telegram bot, para crear un salto de línea. En lugar de mostrar el salto de línea, aparecerá el subrayado _ después de usarlos.

¿Cómo podría imprimir la alimentación de línea en un mensaje de telegrama enviado por bot?

CÓDIGO

$txt = ''با تشکر از عضویت شما، هر روز حدود ساعت 10 شب یک ویدئوی جالب برای شما ارسال خواهد شد.''; $txt .= " /n "; $txt .= ''Thanks for joining, Every day at almost 18:30 GMT an intersting video will be sent'';

Demo de mensaje

Cualquier ayuda será apreciada.


¡puede que no se muestre el resultado como lo desea en idiomas Unicode como el persa! puedes preparar tu texto y usar esto:

$txt = implode("/n", explode(''/n'', $txt));


1) Si desarrolla su código en el sistema operativo Windows / Linux, simplemente puede usar enter in text:

$text = ''test 123 another text'';

¡Eso es todo!

2) Si su código se ejecuta en un servidor Windows / Linux, puede usar la constante PHP_EOL lugar de /n :

$text = ''text 123 ''.PHP_EOL.''yet another text'';

3) Y si busca una solución independiente de sistema operativo, puede usar %0A o chr(10) para este propósito:

$text = ''text 123 ''.chr(10).''yet another text'';


Para evitar problemas de codificación y codificación, utilicé esta solución simple en mi código:

  • Primero , envío mi mensaje de texto en formato HTML estableciendo el argumento parse_mode = HTML en la URL "sendMessage".
  • Luego , inserto el siguiente código para cada salto de línea:

    <pre>/n</pre>

es decir.

... sendMessage?parse_mode=HTML&text="... paragraph1<pre>/n</pre>paragraph2 ..."

Por supuesto, la variable de texto se curl escapó antes de anexarse ​​a la URL:

$text = curl_escape($handle, $text);


Para futuros visitantes solo cito @Dagon responder en comentarios:

El uso de %0A hará que la línea se alimente en mensajes de telegrama


Solucioné el problema de esta manera:

$txt = ''aaaaaaaaa/nnew line1 /nnewline2''; $parameters = array(''chat_id'' => $chatId, "text" => $txt); $parameters["method"] = "sendMessage"; echo json_encode($parameters);

intente aquí: https://telegram-bot-sdk.readme.io/docs/sendmessage


deberías usar urlencode para resolver este problema:

$text ="sth sth sth sth"; $text = urlencode($text);


para mí, esta solución funciona: use comillas dobles

$message=''Hi'' $message=$message."/n"; $message=$message.''Guys''