▼スレッド
│
└◇958:Re[3]:複数行テキストボックス [moon] 02/24 21:52
└◇959:Re[4]:補足 [moon] 02/24 22:00
└◇960:Re[5]:補足 [ミル] 02/25 18:01
└◇961:Re[6]:補足 [moon] 02/25 22:16
└◇962:Re[7]:補足 [ミル] 02/26 13:05
├◇963:Re[8]:補足 [moon] 02/26 18:56
└◇964:階層が深いのでこちらに [ミル] 02/27 12:39<-last
> どうやってtextareaの内容を$cmに代入すれば良いのかが分かりません……。スレッド一覧
>
> と、com_afterの方を見てみたらしっかり代入してありました^^;
> 恐らくname=****と指定をすれば勝手に読み込んでくれると思い、afterの方で代入していたのがcomだったので
> name=comとし、やってみたらちゃんと反映されました。
> で、textareaの内容に今のコメント文を表示させるので内容の部分に$cmを入れて
> print qq|<textarea rows=5 cols=60 name=com>$cm</textarea>|;
>
> と言った様にしたらちゃんと作動しました。バッチリです!
改行処理を追加しましたでしょうか?
例えば改行の置換文字を:BR:とした場合は、com_beforeのほうでは表示前に、
($tmp = $cm) =~ /:BR:/\n/g;
を実行してprint qq|<textarea name=com rows=5 cols=60>\n$tmp</textarea>|;
com_afterではuserout前に、
($cm = $Fm{'com'}) =~ s/<br>/:BR:/g;
> 改行処理を追加しましたでしょうか?スレッド一覧
> 例えば改行の置換文字を:BR:とした場合は、com_beforeのほうでは表示前に、
> ($tmp = $cm) =~ /:BR:/\n/g;
> を実行してprint qq|<textarea name=com rows=5 cols=60>\n$tmp</textarea>|;
> com_afterではuserout前に、
> ($cm = $Fm{'com'}) =~ s/<br>/:BR:/g;
'<'や'>'がユーザデータに入らないように:BR:としましたが、<br>と入っても良いなら、
・($tmp = $cm) =~ /:BR:/\n/g;の:BR:を<br>に。
・($cm = $Fm{'com'}) =~ s/<br>/:BR:/g;はいらない。
でも良いだろうと思います。
# <br>のままで良いとすればコメントの表示時に余計な置換をしなくても大丈夫なので先ほど書いたものより良いかもしれません。
うぅぅぅーむぅ。スレッド一覧
言われたとおりにやってみましたが、ローカルでエラーが出るばかりでした……。
改行処理は私のとこでは必要は無いと思います。:BR:で改行!と言う風に何度も言っていく予定(まだサイト公開してません;)なので、自動改行してしまったら多少混乱すると思うので。(生意気な口聞いてごめんなさい)
実際にはどんな処理をしたのでしょうか?
($tmp = $cm) =~ /:BR:/\n/g;
ここの部分が良く理解できなかったので……
> 改行処理は私のとこでは必要は無いと思います。:BR:で改行!と言う風に何度も言っていく予定(まだサイト公開してません;)なので、自動改行してしまったら多少混乱すると思うので。(生意気な口聞いてごめんなさい)スレッド一覧
ちょっと勘違いをなさっているのではないでしょうか?
先に書いた「改行処理」の意味はテキストボックス上の改行(\n)とCGI上の改行(<br>)が異なるのでこれを変換する処理ということなのですが・・・。
> 実際にはどんな処理をしたのでしょうか?
> ($tmp = $cm) =~ /:BR:/\n/g;
> ここの部分が良く理解できなかったので……
分解すると、
$tmp = $cm;
$tmp =~ s/:BR:/\n/g;
です。
要するに$cmのデータを変えずに:BR:を\nに置換しているだけです。
> ちょっと勘違いをなさっているのではないでしょうか?スレッド一覧
> 先に書いた「改行処理」の意味はテキストボックス上の改行(\n)とCGI上の改行(<br>)が異なるのでこれを変換する処理ということなのですが・・・。
いえ。勘違いはしてないと思います^^;
テキストエリアでは改行は反映されないとして、:BR:と言う改行タグを使ってくださいと呼びかけるつもりだったんですね。
ですが……やっぱり何度やってもエラーが出てしまいます。
near "/
/\
とエラーが出ているのですが、変なところで改行(/と/の間です)が行われているあたり、絶対/\n/が怪しいと思うのですが何をすればよいのやら……。
> いえ。勘違いはしてないと思います^^;スレッド一覧
> テキストエリアでは改行は反映されないとして、:BR:と言う改行タグを使ってくださいと呼びかけるつもりだったんですね。
反映されないのはそうなのですが何も置換処理をしないと<br>というゴミが付くことになると思いますよ。
> ですが……やっぱり何度やってもエラーが出てしまいます。
> near "/
> /\
> とエラーが出ているのですが、変なところで改行(/と/の間です)が行われているあたり、絶対/\n/が怪しいと思うのですが何をすればよいのやら……。
見直してみましたら/の前のsが抜けていました。
これを修正すれば大丈夫だと思います。
なるほど……。sを加えたらバッチリでした。スレッド一覧
置換は覚えていたのにこちらも気付きませんで……申し訳ないです。
確かに、変更する前にコメントを変えようとしたら<br>がズラリ……。これではよくないですね^^;
ありがとうございました!