- ベストアンサー
htmlファイルの改行について
複数ある html ページから、改行部分( <BR> ではなくて )、を自動的に削除して再び保存する、というプログラムを自作しているのですが、\r\n, \r, \n に当てはまらない改行コード? があるみたいで、完全に取りきれないのです。 $input =~ s/\n\r//g; $input =~ s/\n//g; $input =~ s/\r//g; もしくは、 $input =~ s/\x0D\x0A|\x0D|\x0A//g; という具合にしているのですが、予想では、数行にわたるhtml タグから全ての改行が取り除かれ、一行にまとまると いうイメージがあるですが、ところどころ改行が残ります。何がいけないのでしょうか・・・
- みんなの回答 (8)
- 専門家の回答
質問者が選んだベストアンサー
関連するQ&A
- CGIで改行タグを改行コードに変換ってできますか?
CGIで改行タグを改行コードに変換ってできますか? $text =~ s/\r\n/<br>/g; $text =~ s/\r/<br>/g; $text =~ s/\n/<br>/g; で確認画面上で表示されるtextareaの文章は改行されるのですが、 届いたメールには<br>と表示されてしまって困ってます。 PHPでは変換できるみたいなのですが、perlでも出来るのでしょうか?
- ベストアンサー
- CGI
- 改行の変換がうまく出来ていない?
perlの更新記録CGIを改造中です。 テキストエリアを数個設置しているのですが、うまく保存が出来ません。 新規情報を入力するときはちゃんと改行したいデータも保存されます。しかし、修正画面で、何もしないでそのまま保存し直したところ、変に改行が入ってしまいます。(情報の途中で改行が入るので、ゴミレコードが増えてしまう。) 修正画面からログに書き込む手前で<BR>の変換をしていますが、何が間違っているのでしょうか? $in{'kouc1'} =~ s/\r\n/<br>/g; $in{'kouc1'} =~ s/\r/<br>/g; $in{'kouc1'} =~ s/\n/<br>/g; $in{'kouc2'} =~ s/\r\n/<br>/g; $in{'kouc2'} =~ s/\r/<br>/g; $in{'kouc2'} =~ s/\n/<br>/g; $in{'kouc3'} =~ s/\r\n/<br>/g; $in{'kouc3'} =~ s/\r/<br>/g; $in{'kouc3'} =~ s/\n/<br>/g; 新規入力のほうもまったく同じ状態ですが、こちらは正常に保存されます。 足りない情報があればすぐに指摘をお願いします。
- 締切済み
- CGI
- 変数のデータに改行コードのみを削除したい
変数のデータに改行コードのみを削除したい 変数のデータに改行コードのみを削除したいと思っておりますがうまくできません。 $samのデータに以下の内容でデータがはいってます。 (ここから) これはテストです。<br>\n <br>\n これはテストです。<br>\n <br>\n <br>\n これはテストです。<br>\n これはテストです。<br>\n (ここまで) $sam=~ s/<br>\n//g; だと本来改行コードがほしい内容まで削除してしまいます。 以下の内容もおかしいと思いますが、うまく出来ませんでした。 $sam=~ s/.*?<br>\n//g; この内容の場合改行コードが欲しい。それ以外は削除したい。 タグの除去は以下のサイトを検索で見つけたのですが、ちょっと違うかなと思い質問させていただきました。 HTMLタグを取り除く http://www.nishishi.com/perltips/string4.html 以上、よろしくご指導賜りたく思います。
- ベストアンサー
- Perl
- TEXTAREAの改行がうまくいきません。
自作で掲示版を作成している、初心者です。現在作成中の掲示版に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 $_; }
- ベストアンサー
- CGI
- perlでの改行コードの置換
perlで改行コードを置換したいのですが・・・ もとのファイルはS-JISコードでその中身をEUC(UNIXで使用するために)に変換します。ここまではOKなのですが、改行コードがうまく行きません。 改行コードをUNIXで使うためにLFだけにしようと思い、 $line =~ s/\r\n/\n/g; (これは\r\nで引っかからない) とか $line =~ s/\n/\x0A/g; とかにしてみたのですがうまく行きません。 どのようにすればよろしいでしょうか?
- ベストアンサー
- Perl
- 表(<table>)の直前が、改行されてしまう。
表(<table>)の直前が、改行されてしまう。 perlでコーディングしています。データベースはmdbファイルです。 <textarea>内を簡単なWebエディタに見立てて、 <textarea>内へhtmlタグなどで書き込んだデータを、 mdbのメモ型フィールに更新し、これをブラウザで表示させています。 このとき、表(<table>)を表示させるために、<textarea>内に<table><tr><td>タグを入力するのですが、mdbファイルに更新する際に、 <table> <tr> <td> : のように、改行した状態で更新すると、書き込んだ改行分だけ、ブラウザに表示された表の直前が改行されてしまいます。 (mdbファイルに直接書き込んでも同現象となりました。) <table<tr><td>・・・ と改行せずに書き込むと、ブラウザに表示された表の直前は改行されませんでした。 なお、ブラウザに表示させる側のcgiファイルには、改行キー(¥nなど)を改行タグ(<br>)に変換させるために、 $textarea1 =~ s/\r\r/<br>/g; $textarea1 =~ s/\r/<br>/g; $textarea1 =~ s/\n/<br>/g; としているため、これと関係していると思われるのですが、 わたくしとしては、 ●<textarea>内で手入力した改行は、ブラウザ表示に反映させるが、 ●<tabel>・・・・</tabel>の部分は、改行して入力されていても、この改行だけは無視する、 と言った、都合のよいことをしたいのですが・・・、行き詰っております。 perlやcgiの問題ではないかも知れませんが、 どなたか、よいアドバイス、ご提案などございませんでしょうか。 ご教授いただければ、大変助かります。 よろしくお願いします。
- ベストアンサー
- CGI
- textareaで改行すると、修正時、書き込んだデータがなくなります。
CGIのカスタマイズに関する質問です。 ソードワールドRPGキャラクターシート管理CGIを使用しています。 初期の設定で<input type>と<textarea>の改行をする際は<br>を使うと言う形になっています。 その中で<textarea>の改行をエンターキーでしたいと思い、 sub htmlunquote{ my $text = shift; $$text =~ s/</</g; $$text =~ s/>/>/g; の部分を sub htmlunquote{ my $text = shift; $$text1 =~ s/\r\n/<br>/g; $$text1 =~ s/\r/<br>/g; $$text1 =~ s/\n/<br>/g; と変換してみました。 すると、エンターキーで改行できるようになったのですが、修正や追記しようとすると、何故か前に書き込んだ文章が消えてしまっています。 なぜ、文章が消えてしまうのか、全く検討がつきません。FFFTPから、データを覗くと、書き込まれたデータはあるのですが……。 それとも改行をさせる方法が根本的に間違っているのでしょうか。 ご教授お願いいたします。
- ベストアンサー
- CGI
- テキストエリアが複数あるときの改行変換方法
CGIを改造中です。 ログに保存するとき改行(<BR>)を変換する必要があると思うのですが、 複数のテキストエリアがある場合はどのようにしたら良いのでしょうか? 現状 $in{'$com1'} =~ s/\r\n/<br>/g; $in{'$com1'} =~ s/\r/<br>/g; $in{'$com1'} =~ s/\n/<br>/g; $in{'$com2'} =~ s/\r\n/<br>/g; $in{'$com2'} =~ s/\r/<br>/g; $in{'$com2'} =~ s/\n/<br>/g; ~~ と言う風に書いていますが、うまく変換されていないようで、ログが崩れてしまっています。 どのように記述するのが良いのでしょうか?
- 締切済み
- Perl
- 改行をカンマ変換、複数ある場合を1個に
テキストの改行部分をカンマに置き換えています。JavaScript初心者です。 if(getId("br_kanma").checked==true){ str = str.replace(/(\r\n\r\n)|(\n\n)|(\r\n)|(\n)/g, ","); } この場合で、連続改行が続く場合にカンマも増えてしまいます・・・ 改行スペースが多くてもカンマを1個だけにするにはどうしたらよいでしょうか?
- ベストアンサー
- JavaScript
- EXCELで指定した改行タグを入れていく
A列に1セルごとに、改行のある文章があります。 ーーー 例:A1 さいたさいたチューリップの花が ならんだならんだ 赤白黄色 どの花みてもきれいだな ーーー この改行のある文章を、B1に『指定したタグ』を入れて記入させたいです。 ーーー 例:A1→B1 さいたさいたチューリップの花が\r\n\r\nならんだならんだ\r\n赤白黄色\r\n\r\nどの花みてもきれいだな ーーー ※なぜ、\r\nかというと、 botbirdというサイトで、TwitterのBOTを作るためです。 このように改行のあるA1の文章を、 B1で指定したタグを入れて記入させるには、どのような式でできますか? EXCEL2016です。 よろしくお願いいたします。
- ベストアンサー
- Excel(エクセル)
- ファックスの自動送信ができず、電話回線会社から「この電話番号には接続できません。」とアナウンスが流れます。
- ファックスはオンフックでの送信はできるが、自動送信の際に電話回線会社から接続エラーが発生し、送信ができません。
- ファックスの自動送信に際して接続エラーが発生し、送信ができない状況です。
お礼
あ、逆でしたか? すみません。ご指摘ありがとうございます。 一度は試しているんですが、s/\x0D\x0A|\x0D|\x0A//g; の方式に戻してみました。