携帯でテキストエリア内文字が途中で切れてしまいます - PHPプロ!Q&A掲示板

547

  • 0P

携帯でテキストエリア内文字が途中で切れてしまいます

質問日時 / 2007年6月18日 16:30    回答数 / 4件

Questioner:  punipuni  このエントリーをはてなブックマークに追加 

キーワード / HTML/Template/Flexy    textarea    携帯   

携帯サイトでHTML/Template/Flexyを使用しています。

情報をユーザに修正してもらう画面があるのですが、
DBより取得した情報をtextareaに設定すると
最新の機種は全文表示されていますが、
古い機種などでは文字が途中で切れてしまいます。
切れる箇所は機種によって違います。

文字が切れていても追加入力できます。

下記のように設定しています。
  1. $elements['test'] = new HTML_Template_Flexy_Element;
  2. $elements['test']->setValue("○○");
  3.  
  4. $output = new HTML_Template_Flexy();
  5. $output->compile("○○.html");
  6. $output->outputObject($data,$elements);
ここで、outputObjectで項目移送する直前の$elements
をダンプすると全文が表示されます。

ここで設定した内容が携帯の機種によって
文字が途中で切れる現象がなぜ起こるのか、
および回避方法をご存知の方がいらっしゃいましたらご教示ください。
よろしくお願いします。

この質問への意見の募集は締め切られ、ポイントは既に配分されました。
意見を投稿することはできますが、ポイントを受け取ることはできません。



ツリー一覧

┣A01tana2106はずしているかも知れませんが... 以前、携帯用コン
┃┗A01-1punipunitana2106さん、書き込みありがとうございます。 同
┗A02taktoこんにちは。 iモードHTMLの仕様 http://www.nttdoc
 ┗A02-1punipunitaktoさんありがとうございました。 機種により入

回答一覧

並び替え:

A01
answerertana2106 [6月19日 13:39]

はずしているかも知れませんが...
以前、携帯用コンテンツを作成している時、HTML全体のサイズが2Kバイトを超えると
そこでhtmlが切れてしまう機種がありました。(5Kバイト程度で切れる機種もありました)
古い機種とのことなので、textareaに長い文字列が設定されている場合、この全体サイズ
の問題で切れてしまっているのではないでしょうか。

この意見に回答する

ツリーへ TOPへ

A01-1
replyerpunipuni [6月20日 11:11]

tana2106さん、書き込みありがとうございます。

同じページにtextareaとそこに設定している内容をダンプすると
ダンプは全部表示されるのです。
HTMLの容量の問題ではなさそうなんです。

textareaの上限値が機種によって異なるのでしょうかね。

この意見に回答する

ツリーへ TOPへ

A02 参考になった
answerertakto [6月20日 12:42]

こんにちは。
iモードHTMLの仕様
http://www.nttdocomo.co.jp/service/imode/make/content/html/about/textarea.html
こちらではtextareaの制限を512バイトとしていますね。

またWillcomのWX310SAのスペック紹介をされているページを見ると
http://memn0ck.com/d/WILLCOM%252fWX310SA%252fSpec.html#i2
コンテンツ入力サイズ
<INPUT TYPE="text">:255bytes/1フィールド
<INPUT TYPE="password">:255bytes/1フィールド
<TEXTAREA>エリア:4095bytes/1フィールド

機種もしくはブラウザごとなどのある程度のくくりでタグの入力値制限を行っていると考えた方
がよさそうです。DBからのデータというところに着目されてらっしゃいますが、単純なtextarea
の入力フォームで最大何文字送れるかをチェックされてみてはいかがでしょうか。同じ文字数で
切れるのであれば製品側の縛りだと思います。

この意見に回答する

ツリーへ TOPへ

A02-1
replyerpunipuni [6月20日 16:36]

taktoさんありがとうございました。

機種により入力値制限があるというのは知っていたのですが、
同じ項目をASPのサイトで出力すると文字が切れなかったため
PHPで使用しているテンプレートエンジンの問題かと思ったのです。
その後調べたところ、
各サイトで表示前に変換をかけているのですが、
変換後の文字数がASPの方が少なかったので全文表示されていたようでした。

やはり製品側の問題であるようです。

ありがとうございました。

この意見に回答する

ツリーへ TOPへ

<<質問一覧へ



Pick Up Q&A

Q
PHPのHTML埋め込み記述について
 このエントリーをはてなブックマークに追加 
A
$_POST["data"] == "男" ? $val = "checked" : $val = "" ; の意味は以下と同じです。 if($_POST["data"] == "男"){ $val = "checked; } e...

>>続きを読む

kende様のご指摘通り、三項演算子を使用する際には、コードの複雑度などを考慮する必要がありますね。書きやすさと共に可読性も追求したいところですね。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)