![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
自作で掲示版を作成している、初心者です。現在作成中の掲示版にTEXTAREAに入力し、LOG上では1行目<BR>2行目といった形で改行をBRに置き換えて保存していますが、その修正としてLOGからデータをとり改行状態で表示させたいのですが、
うまく改行されない状態です。下記にLOGより読み込み。タグを\rに置き換えて
いますが、TEXTAREAに表示されなく、改行表示どころではありません。
いったいどうすればよいのでしょうか?ご教示をお願いします。
<CGI文>
$wkaaa1 = $IXUSERINF{Enaiyo}; データを取得
$wkaaa =~ ¬ag1($wkaaa1); 変換(これがおかしい?)
$mesbuff .= "<TR><TD nowrap ><TEXTAREA ROW=\"10\" COLS=\"48\" NAME=\"Enaiyo\" WRAP=\"soft\">$wkaaa </TEXTAREA></TD></TR>";
<sub>
sub notag1 {
local($_) = @_;
s/&/&/g;
s/"/"/g;
s/</</g;
s/>/>/g;
s/<br>/\n/gi (これで <BR>を\n(改行)にしてるつもり
return $_;
}
No.5ベストアンサー
- 回答日時:
>上記のパターンをそれぞれ入れてみてやってみましたが、
これで上手くいくと思っていたのに残念ですね....
試験的に、改行でない文字に置換できるか確認してみてはどうでしょう。
# $WEnaiyo =~ s/<BR>/HENKAN/g;
# のような感じで。
これでダメなら、改行文字ではなく「置換」そのものに不具合があると考えられます。
ログデータの最後の項目に変化を施すようなので、
これだけで試してみてはどうでしょうか。
# 未テストなのでscript確認してください(汗
open(FH,"$logfile") or die "$!";
foreach(<FH>){
my @line = split(/,/,$_,);
$line[$#line] =~ s/<BR>/HENKAN/g;
print "$line[$#line]\n";
}
close(FH);
この回答への補足
何度も申し訳ありません。上記のひょうに変更したところ、
<BR>を違う文字に変換するようにしましたら、下記のようになりました。
例
AAAAHENKANBBBBHENKANCCCC(といった具合に変換はできましたが)
なぜか改行コードにはおきかわらなく、そのまま詰まって1行で表示されます。
ほんとどうすればいいのでしょうか?
No.4
- 回答日時:
$WEnaiyo =~ s/<BR>/\n/g; を
$WEnaiyo =~ s/<BR>/\r\n/g; か
$WEnaiyo =~ s/<BR>/\r/g; に
して試してみてはどうでしょう。
この回答への補足
おそくなりましてすみません。(レンタルしていたサーバーがダウンしその復旧で...)
上記のパターンをそれぞれ入れてみてやってみましたが、
何もかわらなのです。
元のデータ(LOG)を作成するときに何かたりなのでしょうか?
(JCODE等は使用していません)
もうすこしだけお付き合い願えないでしょうか?
No.3
- 回答日時:
自分がREVISIONモードを作ったときの流れは、
ログデータを@lineに取得....
foreach(@line){
chomp;
($foo,$bar)=split(/,/,$_);
$bar =~ s/<BR>/\n/g;
}
こんな感じでTEXTAREAに$barを改行表示させています。
ここ以外に、関係のありそうな部分はないですか?
しかし表示はされているとの事なので、置換部分に問題があるんだとは思いますが....
文字コードだったり環境が影響している可能性もあるかもですね。
ご参考に、改行コード変換の解説サイトを入れておきます。
参考URL:http://www.din.or.jp/~ohzaki/perl.htm#CRLF_2BR
この回答への補足
so_blue さん、お世話になります。
ご指摘のとおりデータ取得時に下記のように修正し、CGI側はそのまま出力するようにしましたが、結果は、aaabbbcccとつながって1行で出力されます。
ほんと何がいけないんでしょうか?
<sub>
foreach(@buffer) {
($a, ~ ,$WEnaiyo) = split(/,/,$_,);
$WEnaiyo =~ s/<BR>/\n/g;
$IXUSERINF{Enaiyo} = $WEnaiyo;
}
ハッシュがいけないのでしょうか?(多分関係ないと思います)
改行コードが入らないのはなぜ?
No.2
- 回答日時:
自分には、TEXTAREA内で
s/</</g;
s/>/>/g;
にしている理由が分かりませんが....
タグがあると何か不都合があるのでしょうか???
これをなくすか、使う場合はこれより先に、
s/<BR>/\n/g;
で上手く動作しないでしょうか。
この回答への補足
何度もすみません。
<sub>
sub notag1 {
local($_) = @_;
s/<BR>/\n/g; (修正しました)
s/&/&/g;
s/"/"/g;
s/</</g;
s/>/>/g;
s/<br>/\n/gi;
return $_;
}
にしたところ、TEXTAREA内にaaa<BR>bbbb<BR>cccといった形で改行されず、<BR>の文字がそのまま出力されます。
やはりタグを消さないといけなのではないでしょうか?
すぐにでも、回答を締め切り、POINTを差し上げたいのですが、もうすこし初心者に
つきあってください。
No.1
- 回答日時:
> $wkaaa =~ ¬ag1($wkaaa1); 変換(これがおかしい?)
はい。おかしいです。
チルダを取って、$wkaaa = ¬ag1($wkaaa1); にしてください。
この回答への補足
早速の回答ありがとうございます。ご指摘のとおり、チルダをはずしたら
TEXTAREAには表示されるようになりましたが、改行されません。
どうすれば良いか改めて回答をおねがします。
<表示内容>
aaaaabbbbbccccc(1行で表示されます。a b c の間で改行したいのですが)
<希望表示>
aaaaa
bbbbb
ccccc
のように3行にしたいのです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL MySQLに登録した内容を更新する時の、textareaの使い方 1 2022/07/11 18:20
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- Visual Basic(VBA) VBAにてメール作成した際、一部指定箇所のみ赤文字にしたいです。 下記の内容ですと作成されたメール本 1 2022/04/27 13:31
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- HTML・CSS Windowsのformでtextareaに入力すると改行が反映されません 2 2023/06/01 11:50
- PHP PHP MySql ページング 2 2022/09/20 06:38
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- PHP PHPでテキストファイルに保存した時の改行問題 1 2022/11/19 15:07
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- HTML・CSS HTMLソースの質問 3 2022/07/28 13:29
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Rstudioによるテキストマイニン...
-
Excel VBA メール作成について ...
-
テキストエリア内でタグ<BR>を...
-
CGIを勉強しています。¥n(改...
-
Line Inputにて改行があっても...
-
TEXTAREAの改行がうまくいきま...
-
CGIで取得したログの改行と表示...
-
ポインター引数の関数でコンパ...
-
10Mバイトて文字数に すると何...
-
エクセルシート名の制限を変更...
-
COBOLのCOMP形式について
-
ESC/Pのテキスト印字の制...
-
printfの%eで指数部分の桁数を...
-
html→aspxへのタグ変換方法
-
VB6で漢字の1バイト目か2バイト...
-
memcmp バイナリデータの比較方法
-
DOSのdirコマンドで思うように...
-
utf-8でメールを送信すると件名...
-
ブラウザ間でCookieを共有する...
-
C#でのswitch文
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBA メール作成について ...
-
CGIを勉強しています。¥n(改...
-
Rstudioによるテキストマイニン...
-
Line Inputにて改行があっても...
-
改行コードがそのまま表示され...
-
【HELP!!】Excelから保存したtx...
-
ホームページビルダーで行間を...
-
エクセルで「改行コード」を「...
-
テキストエリアの<br />を非表...
-
大至急!! メモ帳でホームペ...
-
KENT-WEBのClipMailでのチェッ...
-
alertの警告文を2行にしたい
-
データの中に入る変な記号が分...
-
タグの不等号処理
-
perlで、[ \\r\\n , \\n ]の意...
-
TEXTAREAで改行するとついてく...
-
連想するもの教えてください
-
MACの改行コード変更について教...
-
テキストボックスに入力された...
-
一行掲示板を改行が入る掲示板...
おすすめ情報