榊原昌彦

2014/03/19

「Lineで送る」のテキストを改行する方法

記事のアイキャッチ画像

こんにちは、榊原です。
 
便利な「Lineで送る」ボタンですが、いろいろと制約があって、ちょっと手こずったので、記録を残しておきます。
 

1.文字数制限は関係ない

Lineでは、プレビューで生成できる簡単コード

[php]
<span>
//media.line.me/js/line-button.js?v=20140127

new media_line_me.LineButton({“pc”:false,”lang”:”ja”,”type”:”a”});

</span>
[/php]
 
と各書式を用意しておりますが、文字数が関係あるのは、簡単コードのみっぽいです。ちなみに、公式で送れるテキストは最大500文字といってますが、簡単コードの方がもっと短い文字数でもなぜかうまく動きませんでした。具体的には、自動的にボタンが隠れました。
それに対して、各書式(私は、http://line.me/からはじまる書式を利用しました)は、そんな文字数を気にしなくても大丈夫そうな感じです。
 
 

2.テキストを改行する方法

br/ でも、/n でもうまく改行できなかったので、どうやったものか、、、と悩んだのですが、公式コードの例で出ている「Lineで送る[改行]URL」では、なぜか改行されている。はじめは、技術仕様でhttpからはじまった場合、改行されるのかと思ったのですが、どうやら違うようで、エンコードされた文字列を読んでると、謎の「%0D%0A」という文字が!
どうやら、これがLineの改行コードなようです。ネットで検索したら、windowsの16進法表記の改行コード(0D 0A)のエンコードされたものなよう。
 
ですので、エンコードする時は、「0D 0A」もしくは「%0D%0A」をご利用ください。PHPだと、例えば

[php]
$linetext = str_replace("n", "%0D%0A", $linetext);
[/php]
 
とかにしていただけたら、自然改行が改行コードに置き換えられます。
 
それでは、また。

Cookieを利用します

このWebサイトでは、Google Analyticsをアクセス解析のために導入しており、個人データであるCookieにアクセスします。引き続き利用する場合はCookieの利用への同意が必要です。

同意する