• ベストアンサー

大量にあるrowspanを分割したい。

お世話になります。 HTMLでtableが沢山あるページを持ってます。 その中のrowspanをすべて分割したいのですが、 大量にあるため、何か正規表現をつかったりして、 一気に置き換えられるとイイな。。と思ってます。 ソフトは、Dream weaverを使っています。 ----------------------- <tr> <td rowspan="3">○</td> <td>△</td> <td rowspan="3">×</td> </tr> <tr> <td>△</td> </tr> <tr> <td>△</td> </tr> ----------------------- ↓ ----------------------- <tr> <td>○</td> <td>△</td> <td>×</td> </tr> <tr> <td>○</td> <td>△</td> <td>×</td> </tr> <tr> <td>○</td> <td>△</td> <td>×</td> </tr> ----------------------- 何か方法を知っている方がいらっしゃいましたら、 教えていただけると非常に助かります。 よろしくお願いします。

noname#93752
noname#93752
  • HTML
  • 回答数3
  • ありがとう数6

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

まず 『 rowspan="3"』 を削除 それから <tr> <td>△</td> <tr> を <tr> <td>○</td> <td>△</td> <td>×</td> </tr> に置換 置換と削除はどっちが先でも構わない。 tdの中身が全て違うなら、 とりあえず空のtdに置換して後から手作業入力とか。

noname#93752
質問者

お礼

No1の方のエクセルの技と並行して やってみることにします。 ありがとうございました。

その他の回答 (2)

回答No.3

これは結構めんどい。 単純な正規表現じゃできなそうですね。 ある程度のプログラムが必要になりそうです。

noname#93752
質問者

お礼

単純な正規表現ではできなさそう。 という回答が得られたので、 納得しました。ありがとうございます!

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

編集/置換のコマンドを使って一発で変換するのは困難そうです。 どのプログラム言語使っても、プログラムで処理すれば可能ですが、 プログラム作ってる暇があれば手作業した方が早いかも。 邪道ですが、ページをExcelで読み込んで、セル書式設定でセルの結合 を一括解除して、HTML形式で出力して、テーブル部分だけ切り取る という手段があります。けれどもこの方法ではExcelが余計な style就職をたんまり付加するので、それを編集コマンドで取り除く 必要がありますが、大部分一括置換が可能ですね。

noname#93752
質問者

お礼

そうですよね。。 No.2の方のやり方と並行して、 エクセルでの処理を試してみて早そうだったらそうしてみます。 ありがとうございました。

関連するQ&A

  • フォームでテーブルの制御ってできる?

    例えば以下のようなテーブルがあるとします。 <html> <head> </head> <body> <table border> <tr><td rowspan="6">1</td> <td rowspan="3">2</td> <td>3</td></tr> <tr><td>4</td></tr> <tr><td>5</td></tr> <tr><td rowspan="2">6</td> <td>7</td></tr> <tr><td>8</td></tr> <tr><td>9</td><td>10</td></tr> </body> </html> フォームでこのrowspanの数値をいれるだけで このようなテーブルをつくるような手段はありますか? JavaScriptかHTMLでできる方法があれば教えてください。 また、テーブル部分の数値になっているところも テキストエリアで書き込めるようにしたいのですが、可能ですか?

    • ベストアンサー
    • HTML
  • フレームの分割について

    このようなレイアウトでフレーム分割したいのですが、どのようなソースにしたら良いのでしょうか?また、様々な環境できちんと表示されるでしょうか? A・C・E・Fには画像を挿入。DはメインのHTMLを表示。BはメニューのHTMLを表示。 <TABLE COL="4" ROW="3" WIDTH="770" BORDER="1" CELLSPACING="0" CELLPADDING="0"> <TR ALIGN="CENTER"> <TD COLSPAN="3" WIDTH="586" HEIGHT="106">A</TD> <TD ROWSPAN="3" WIDTH="184">B</TD> </TR> <TR ALIGN="CENTER"> <TD WIDTH="40" HEIGHT="350">C</TD> <TD WIDTH="506" HEIGHT="350">D</TD> <TD WIDTH="40" HEIGHT="350">E</TD> </TR> <TR ALIGN="CENTER"> <TD COLSPAN="3" WIDTH="586" HEIGHT="106">F</TD> </TR> </TABLE>

  • HTMLのrowspan

    HTML初心者です。 下記のようにテーブルを作成していますが、 2行目がなかったことにされてしまいます。 <table> <tr><td rowspan=2>1-1</td><td rowspan=2>1-2</td></tr> <tr></tr> <tr><td>3-1</td><td>3-2</td></tr> </table> 結合されたセルを2行分の高さで表示することはできますか? ただ、実際のHTMLはPHPで動的に作成しているので、 できれば「height属性で1行目の高さを2行分にする」以外の 方法を探しています。 以上、よろしくお願いします。

  • 右側がおかしくなる

    初心者です。 図のようなテーブルを作りたくがんばってみたのですが右側がおかしくなります。 タグは <table border> <tr><td rowspan="7"> <font size="1"> 1 </td> <td rowspan="3"><font size="1">2</td> <td><font size="1">4</td> <tr><td></td> <td></td> <td></td></tr> <td><font size="1">5</td> </tr> <td rowspan="5"><font size="1">3</td> <td><font size="1">6</td></tr> <td><font size="1">7</td></tr> <td><font size="1">8</td></tr> <td><font size="1">9</td></tr> </table> <BR> です。 結果の画像も載せておきます。 「おかしい」としか表現できなく うまく伝わらないかもしれないですが ご教授よろしくお願い致します。

    • ベストアンサー
    • HTML
  • セルの高さを固定したい

    こちらの質問と同じです。 http://oshiete1.goo.ne.jp/qa4888659.html IEにおいて、隣に結合したセルがあり、中央の高さを固定したいという状態です。 条件として、”基本HTMLは変更しない”が重要です。 テーブルの変わりにdivにする、などは求めていません。 ■HTML <table> <tr> <td>&nbsp;</td> <td rowspan="3">結合セル</td> </tr> <tr> <td>高さを固定</td> </tr> <tr> <td>&nbsp;</td> </tr> </table> HTMLで高さを指定しても、CSSでheightやmax-heightで指定しても伸びてしまいます。 何か方法はあるでしょうか?

    • ベストアンサー
    • HTML
  • tableのtr要素をドラッグ&ドロップで任意に入れ替え、その順番を取

    tableのtr要素をドラッグ&ドロップで任意に入れ替え、その順番を取りたいです。 jqueryのSortableプラグインを調べ、これならできそうとプログラムを組み、 trの一行ごとならばできました。 やりたいことは、rowspanで連結されている<tr>を2行以上まとめて1つの要素とみなし、 入れ替えたいのですが、 jqueryのSortableでできますでしょうか? <table> <tr><td rowspan="2">一行目</td><td>あいう</td> <tr><td>えお<td></tr> <tr><td rowspan="2">二行目</td><td>かきく</td> <tr><td>けこ<td></tr> </table> <table>を入れ子にすれば実現はできそうですが、 ちょっとCSSの関係もあり、その方法を採用するのは難しい気がしています。

    • ベストアンサー
    • AJAX
  • HTMLのテーブルをExcelにCopy&Pastしたときにセルを分割させない

    以下のようなHTMLがあります。 これをIE6で開き、テーブル部分をマウスでドラッグして選択し、MS-ExcelにCopy&Pastします。 何故か、Excel側で、3セル分に分かれてしまいます。 <br>部分でセルが分割されてしまいますが、分割されないようにすることはできますでしょうか? HTMLに何か仕込むことで対応できますでしょうか? <html> <body> <table border="1">  <tr>   <td>    aaa<br>    bbb<br>    ccc   </td>  </tr> </table> </body> </html> 以上、宜しくお願いします。

    • ベストアンサー
    • HTML
  • tdの中のbackgroundを繰り返しにしたくない

    webページをテーブルで組んだとき、1つだけのtd内にbackgroundを設定しているのですが、縦や横に長くなったときに、同じ画像が繰り返し表示されます。そこで、どのようにして繰り返しをなくせばいいのでしょうか?因みに、 <table> <tr> <td colspan="2" align="center"> <img src="aaa.gif"></td> </tr> <tr> <td rowspan="2" background="bbb.jpg">&nbsp;</td> <td align="center"> <img src="ccc.gif"></td> </tr> <tr> <td align="center"> <img src="ddd.gif"></td> </tr> </table> 上記HTMLで、bbb.gifにあたります。 どなたかご存知な方は教えてください。お願いします。

    • ベストアンサー
    • HTML
  • 正規表現

    Java 5.1 java.util.regex.Pattern java.util.regex.Matcher を用いてHTMLのTABLEを抽出したいのですが、ヒットしません。正規表現のパターンはどうしたらいいのでしょう? パターン: < *table.*?>[\s.]*?< */table *?> 検索対象: … <table border=1 width=200> <tr><th>AA</th><th>BB</th></tr> <tr><td>CC</td><td>DD</td></tr> <tr><td>EE</td><td>FF</td></tr> </table> … で、TABLEタグを含むTABLE全体を期待したのですが全くヒットしませんでした。 ちなみに * <table …>と</table>単体ではヒットします。 * ソースから改行文字を取り除いて一行テキストとした場合にはヒットします。 これらのことから、改行文字がマッチしていないことが原因かと思うのですが、パターンの正規表現についてご教授願います。

    • ベストアンサー
    • Java
  • HTML 複雑なテーブルの作成

    今、HTMLでテーブルを作成しています。 よろしくお願いします。 下記のHTMLでテーブルを作成し 番号「18」までは、うまくいきました。 つぎに「19」を作成しようとすると 「9」のセル(rowspan="5")が下に伸びて、「19」に重なります。 何か、解決の方法はありますでしょうか? CSSでborderやclassを使用していますが省略しています。 また、widthも使用していますが省略しています。 <table cellspacing="7"> <tr> <th colspan="2">1</th> <th>2</th> <th>3</th> <th>4</th> <th>5</th> <th>6</th>       </tr> <tr> <td>7</td> <td>8</td> <td rowpan="5">9</td> <td>10</td> <td>11</td> <td>12</td> <td>13</td> </tr> <tr> <td colspan="2">14</td> <td>15</td> <td>16</td> <td>17</td> <td>18</td> </tr> <tr> <td colspan="7">19</td> </tr> </table>

    • ベストアンサー
    • CSS

専門家に質問してみよう