- ベストアンサー
コピーした複数行の文章を手っ取り早くHTMLに直したいのですが。
コピーした縦に何行もある文章を、手っ取り早くHTMLに直す方法のによい方法はないでしょうか。2chによく貼られるようなタイプの文章です。 例えば おれがおいしいとおもう果物と野菜のランキングのような文章で 100点 りんご 99点 もも メロン 98点 ぶどう みかん 大きいメロン 97点 イチゴ めろん 小さいメロン 96点 びわ トマト 95点 マンゴー 重油 94点 バナナ 灯油 ガソリン 経由 93点 すいか なし 92点 キャベツ 91点 略 90点 89点 88点 87点 86点 のように、網羅的に何十行もあるいろんな文章を自分のサイトに載せる機会が最近多いのですが、こういうときに一番手っ取り早い方法はなんでしょうか。 現在はエクセルでA列に<br>といれておいて、B列に上のような文章をペーストしたあと、A列とB列をコピーして、それを編集するHTMLに貼り付けています。 このような作業を何十回も繰り返し行っているんですが、この方法よりももっと速い方法をおしえていただけないでしょうか。 エディタはHTMLProjectというフリーウェアを使っています。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
昔よくやってた気がする。 "正規表現"という手法を知ると、こういう整形作業は楽になります。 というか整形作業をGUIで手作業でやるとか、非常に非効率的です。 特に同じような作業を繰り返す場合。 理屈としては 行頭を"<tr><td>"に置換し、行末は"</td></tr>"に置換 デリミタとなる半角スペースは複数連続しているものを一つに置換した上で "</td><td>"に置換。 です。 この処理を定義したスクリプトを用意しておけば いつでも同じ作業が手軽に行なえるわけです。 昔だと、各タグの後ろにfontsize=とかいっぱい付けていましたが 今だと、cssでうまいこと簡略化できる気がします。 ただ、rowspanとか出てくると手作業で修正することになるかな。
その他の回答 (4)
こんにちは。 様々な手段があるようですが、やはり<pre>タグがもっとも手早いのではないかと思います。 やり方は簡単で、ランキングの部分をコピーして<pre>タグで囲んでしまうだけです。 <pre> 100点 りんご 99点 もも メロン 98点 ぶどう みかん 大きいメロン 97点 イチゴ めろん 小さいメロン 96点 びわ トマト ・・・ ・・・ ・・・ 1点 ピーマン(苦笑) </pre>
お礼
回答ありがとうございます。preタグは大変便利ですね。 ただ指定したwidthを超えてしまう場合などもあるので、 preタグを使わずに整形するようにしました。 皆様の助言を参考に、テキストエディタのマクロ機能をつかって 6タッチくらいで整形されたHTMLをつくれるようになりました。 とても助かりました。ありがとうございます。
- outbrave
- ベストアンサー率60% (231/380)
データファイル(CSV)とテンプレート(HTML)からHPを自動生成するソフト bpTran
お礼
大変参考になります。ありがとうございました。
- takuranke
- ベストアンサー率31% (3923/12455)
エクセルならWebページで保存というのがあるのがあるので、 一旦、Webページで保存して、ブラウザで開き、ソースの表示をして、 必要な部分をコピーすれば早いと思います。
お礼
質問の仕方がわかりにくくて申し訳ありません。 エクセルをベースでランキングをつくっているというよりは、 2chで貼られるようなランキング形式のコピペをHTML内でけっこうそのままの形でサイトに再現させたりするのに、便宜上エクセルに一度コピーを貼り付けているといった感じです。 エクセルで A列 <br> <br> <br> <br> 略 としておいて、B1のあたりで縦に長いコピーを貼り付けて <br>100点 <br>99点 <br>98点 という風にして、A列とB列をまたコピーしてそれをHTMLに貼り付けているいるかんじです。 これは非効率的ですよね・・・・。
- masaki34
- ベストアンサー率48% (19/39)
もっと具体的な使い方を書いた方が、より的確な回答があると思いますが、 ・ソースからコピペ ・<pre></pre>で囲う ・(あれば)エディタのマクロ機能を使う こんなとこでしょうか。
お礼
素早い回答ありがとうございます。とても助かります preタグの存在すら知りませんでした。自分なりにいろいろ調べてみます。
お礼
ありがとうございます。正規表現でいろいろ調べてみます。 この整形作業を何度もやる必要があるのです。 HTMLとCSSの一部しかわからないもので。 行1 行2 行3 のコピーを <tr><td>行1</td></tr> <tr><td>行2</td></tr> <tr><td>行3</td></tr> に直してくれて、同時に連続する1byteスペースも置換してくれるスクリプトを用意すれば、いいわけですね。 どうやって用意すればいいんでしょうか・・・。(汗 具体的に申しますと現在は <HTML> <TITLE>ランキングの名前 サイト名<TITLE> <BODY> <h1>ランキングの名前</h1> <--ここからランキング--> <p> <br>一行目 <br>二行目 <br>三行目 </p> </BODY> </HTML> こういったページを何十もつくっているんですが、この作業を簡略化したいのです。 皆様の回答を参考にいろいろ調べてみることにします。