• 締切済み

TEXTSSの正規表現について

こんばんは。 TEXTSSを使って複数のページを修正したいと思っています。 しかしページの構成は同じでもtitleとaltの中身が各ページで全て異なります。 そこで正規表現を使って修正しようと思ったのですがTEXTSSの正規表現を用いた変換について悩んでます。 変換したいのは下記のようなものです。 置換前 <a href="index.html" title="〇">開発ページ</a> <img src="main.gif" alt="●"> 置換後 <!-- <a href="index.html" title="〇">開発ページ</a> <img src="main.gif" alt="●"> --> ※〇、●はページによって異なるのでここのテキストは維持したい ※入れたいのは<!--と-->のコメントアウトタグ どのようにして直したらいいのでしょうか? ご存知の方いらっしゃいましたらご教授の程よろしくお願い致します。

  • HTML
  • 回答数1
  • ありがとう数4

みんなの回答

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

s/<a\s+?href="index\.html"\s+?title=".+?">\s*?開発ページ\s*?</a>\n<img\s*?src="main.gif"\s+?alt=".+?"\n>/<!--\n$1-->/ig

mana5150
質問者

お礼

ありがとうございました!助かりました!

関連するQ&A

  • 正規表現について

    HTMLファイルを読み込み、特定の文字列にリンクを付けて出力したいのですが上手くいきません。 例: <img src="./seiki_hyougen.gif" alt="正規表現についての説明">更に正規表現を知りたい方は、<a href="special.html">正規表現の詳しい説明</a>をクリックして下さい。  ↓正規表現をキーワードにしてリンクを付けたい。 正:<img src="./seiki_hyougen.gif" alt="正規表現についての説明">更に<a href="seiki_hyougen.html">正規表現</a>を知りたい方は、<a href="special.html">正規表現の詳しい説明</a>をクリックして下さい。 誤:<img src="./seiki_hyougen.gif" alt="<a href="seiki_hyougen.html">正規表現</a>についての説明">更に<a href="seiki_hyougen.html">正規表現</a>を知りたい方は、<a href="special.html"><a href="seiki_hyougen.html">正規表現</a>の詳しい説明</a>をクリックして下さい。 尚、下記URLのサンプルを参考にしてスクリプトを作成しています。 http://php.oss.eznetsols.org/manual/ja/function.preg-split.php $r = preg_split('((\/a>)|(<a))', $html, -1, PREG_SPLIT_DELIM_CAPTURE); for ($i = 0; $i < count($r); $i++) { if ($r[$i] == "<a") { $i++; continue; } $r[$i] = preg_replace( "/(正規表現)/i", "<a href='seiki_hyougen.html'>\\1</a>", $r[$i] ); } return join("", $r); この(正規表現)の部分で上手い正規表現を使えばalt="×××"の中にリンクタグが入らないようにできるのでは?と思っているのですが・・・。 どうか、良い方法を教えて下さい。よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • 正規表現についての質問です。

    正規表現についての質問です。 現在、HTMLのimgタグを使って「/img/jpg/」ディレクトリにある画像ファイルを複数表示しています。 例) <img src="/img/jpg/1111.jpg" > <img src="/img/jpg/mm2222.jpg" > <img src="/img/jpg/kkkkk3333.jpg" > これをそれぞれ、以下のように置換したいと考えています。 例) <a href="http://www.xxxxx.jp/1111.jpg"><img src="/img/jpg/1111.jpg" width="240px"></a> <a href="http://www.xxxxx.jp/mm2222.jpg"><img src="/img/jpg/mm2222.jpg" width="240px"></a> <a href="http://www.xxxxx.jp/kkkkk3333.jpg"><img src="/img/jpg/kkkkk3333.jpg" width="240px"></a> imgタグをリンクタグで囲むのですが、リンク先URLには元々の画像ファイル名が使われています。また、imgタグには「width="240px"」が付加されています。 このような置換をPHP5で行うには、どのような正規表現を使用したらよろしいでしょうか。 宜しくお願い致します。

    • ベストアンサー
    • PHP
  • htmlの修正のため、正規表現で2つほど質問です。

    秀丸を使っています。 下記の2つをやりたいのですが、いまひとつうまくいきません。 ご教授いただけると幸いです。 <p><br /></p> <a href="a.html">あいうえお</a><br /> <a href="k.html">かきくけこ</a><br /> <p><br /></p> ↓ <p><br /></p> あいうえお<br /> かきくけこ<br /> <p><br /></p> <img alt="" src="../images/aaa.jpg" /> <img alt="" src="../images/bbb.jpg" /> ↓ <a href="index.html"><img border="0" alt="" src="../images/aaa.jpg" /></a> <a href="index.html"><img border="0" alt="" src="../images/bbb.jpg" /></a>

  • 正規表現について

    アメブロから独自ブログへ引越しを行うことになったのですが、 ペタしてね というリンク画像を毎ページに張り付けており、この画像リンクを一括で削除したいと思っています。 HTMLタグのパラメータが微妙にばらついており、正規表現の利用が必要かなと思っています。 専用のプラグインをインストールし、正規表現を利用して削除できることが分かったのですが、 正規表現の方法を数時間勉強してみましたが、結局どうすればいいのかわかりません・・・ 削除する画像リンクは以下のようなものです。 <a href="http://.........................."><img height="100" alt="ペタしてね" src="http://stat.ameba.jp/blog/ucs/img/decoPeta/pc/decoPeta_18.gif" width="100" /></a> width や hight がページによって微妙に違うようです。 どちらさまか、上記のようなタグをマッチングさせる正規表現を教えていただけませんでしょうか。

    • ベストアンサー
    • PHP
  • 正規表現を使って?

    置換の正規表現を使ってこのURLを (例) <A href="http://123.com/456/789/"><IMG src="http://123/456/789.jpg" border="0"></A> <A href="http://123.com/456/789/">リンク先</A> このようにしたいです。 <A href="http://tesuto=http%3A%2F%2F123.com%2F456%2F789%2F"><IMG src="http://123/456/789.jpg" border="0"></A> <A href="http://tesuto=http%3A%2F%2F123.com%2F456%2F789%2F">リンク先</A> :は%3aに /は%2fに 最後にリンク先のURLにhttp://tesuto=を追加したいです。 (<IMG src="からのURLはそのままにしたいです。) ちなみにhtml内には様々なタグが入っていてリンク先も様々なURLが書かれているとします。 (http://123.com/456/789/やhttp://123.com/456/789/abc/dehg/など) 正規表現についてはまったく分からず悩んでいます。 どなたかよろしくお願いします。

  • 正規表現についての質問です。

    正規表現についての質問です。 現在、HTMLのimgタグを使って「/img/jpg/」ディレクトリにある画像ファイルを複数表示しています。 例) <img src="/img/jpg/1111.jpg" > <img src="/img/jpg/mm2222.jpg" > <img src="/img/jpg/kkkkk3333.jpg" > これをそれぞれ、以下のように置換したいと考えています。 例) <a href="http://www.xxxxx.jp/1111.jpg"><img src="/img/jpg/1111.jpg" width="240px"></a> <a href="http://www.xxxxx.jp/mm2222.jpg"><img src="/img/jpg/mm2222.jpg" width="240px"></a> <a href="http://www.xxxxx.jp/kkkkk3333.jpg"><img src="/img/jpg/kkkkk3333.jpg" width="240px"></a> imgタグをリンクタグで囲むのですが、リンク先URLには元々の画像ファイル名が使われています。また、imgタグには「width="240px"」が付加されています。 このような置換をPHP5で行うには、どのような正規表現を使用したらよろしいでしょうか。 宜しくお願い致します。

    • 締切済み
    • PHP
  • 正規表現の否定先読みについて

    <a href="http://example.com/aaaa/hogehoge1.jpg" target="_blank"><img src="http://example.com/aaaa/hogehoge1.jpg" width="100" alt="huge1"></a><br />hogehoge<br /><a href="http://example.com/bbbb/hogehoge2.jpg" target="_blank"> <img src="http://example.com/bbbb/hogehoge2.jpg" alt="huge2"></a> こういうHTMLがあるとします。改行はなく1行です。 このHTMLから正規表現で 『width="100"がついていない<img>タグ』 のsrc=""までを抜き出して置換したいのです。 期待する結果は <img src="http://example.com/hage/hogehoge2.jpg" です。 そこで /<img src="http:\/\/.*?.jpg"\s(?!width)/ というパターンを試しましたが、.*?の最短一致が思った通りにいかず <img src="http://example.com/aaaa/hogehoge1.jpg" width="100" alt="huge1"></a><br />hogehoge<br /><a href="http://example.com/bbbb/hogehoge2.jpg" と、1つ目の<img>が入ってしまい、2つ目の<a>タグまで抜き出されてしまいます。 これをうまくwidth="\d+"と入っていない<img>タグのみに適用させる方法はないでしょうか? どなたかよろしくおねがいいたします。

    • ベストアンサー
    • PHP
  • よろしくお願いいたします。cssを使ってロールオーバーを横並びにしたい

    よろしくお願いいたします。cssを使ってロールオーバーを横並びにしたいと考えております。そこで以下のような記述をしたいと考えているのですがうまく行かず、また原因もわからずに困っておます。どなた様かご指導のほどよろしくお願いいたします。 まず以下の記述をしました。 [html] <div id="menu"> <ul> <li id="menu1"><a href="a/index.html" title="HOME" ><img src="img/1.gif" alt="HOME" onmouseover="this.src='img/11.gif' onmouseout="this.src='img/1.gif'" /></a></li> <li id="menu2"><a href="b/index.html" title="ホームページ製作"><img src="img/3.gif" alt="HOME" onmouseover="this.src='img/33.gif' onmouseout="this.src='img/3.gif'" /></a></li> <li id="menu3"><a href="c/index.html" title="ネットショツプ製作"><img src="img/4.gif" alt="HOME" onmouseover="this.src='img/44.gif' onmouseout="this.src='img/4.gif'" /></a></li> <li id="menu4"><a href="d/index.html" title="SNSサイト製作"><img src="img/6.gif" alt="HOME" onmouseover="this.src='img/66.gif' onmouseout="this.src='img/6.gif'" /></a></li> <li id="menu5"><a href="e/index.html" title="SEOプロモーション"><img src="img/7.gif" alt="HOME" onmouseover="this.src='img/77.gif' onmouseout="this.src='img/7.gif'" /></a></li> <li id="menu6"><a href="f/index.html" title="出版・印刷・その他"><img src="img/8.gif" alt="HOME" onmouseover="this.src='img/88.gif' onmouseout="this.src='img/8.gif'" /></a></li> <li id="menu7"><a href="g/index.html" title="お問合せ・御注文"><img src="img/5.gif" alt="HOME" onmouseover="this.src='img/55.gif' onmouseout="this.src='img/5.gif'" /></a></li> </ul></div> [css] #menu ul{ list-style-type:none; } #menu ul li{ display:inline; } http://desktop10.web.fc2.com/test.html 上記URLにアップしています。よろしければ見てみてください。 画像も、横並びにならず、マウスを合わせたときの画像も変化しません。また、ブラウザ上の左下に ページでエラーが発生しました。と出てしまいます。 お手数では御座いますがどなた様かご教示をお願いできませんでしょうか? わたしとしては、以下のような感じにしたいと考えております。 http://desktop10.web.fc2.com/test1.html なお、一応記載させて頂きますが画像の中に「ホームページ製作」や「SNS」等と・・・ありますが、私は 現在cssの学習をしており、特別パソコン関係の商売をしているわけでもありません。ただ、今後の自分のために色々と出来ればよいと考えているところであります。 初心者では御座いますが、どなた様かご指導のほどよろしくお願いいたします。

    • ベストアンサー
    • HTML
  • 正規表現を使った置き換えにおいての質問。置き換えたい文字列が変数だったら。

    こんにちは、 以下のような作業をperlで正規表現の置換を用いて行いたいのですがどのようにすればよいのでしょうか。 ===================================== $iが1-3までの数字をしめしています。 また、 $filename[1]='./gazou1.gif' $filename[2]='./gazou2.gif' $filename[3]='./gazou3.gif' のような配列変数があるとします。 以下のようなテキスト文章を $1$ $2$ $3$ 次のように変換します。 <img src="$filename[1]"> <img src="$filename[2]"> <img src="$filename[3]"> $filename[1-3]には画像のパス名がはいっているので、最終的出力されるときには <img src="gazou1.gif"> <img src="gazou2.gif"> <img src="gazou3.gif"> となるようにしたいです。 このような作業を行う置換操作はどのようにすればいいのでしょうか。 次のようにしてみましたが、できません。 for($i=1;$i<4;$i++){ $main_body=~ s/\$[$i]\$/<img src="$filname[$i]">/g; } ちなみに、これを実行すると <img src="">となり、何も入りません。 置換したい単語が変数だったらできないのでしょうか? 回答よろしくお願いします。

    • ベストアンサー
    • Perl
  • 正規表現で画像を置換

    <img src="http://domain.com/test1/sample1/20090226234426-P1150071_s.jpg" width="160" height="120" alt="TEST" /> となっているものを、 <a href="http://domain.com/test1/sample1/20090226234426-P1150071_s.jpg">画像</a> と置換したいのですが、正規表現がいまいち理解できませんでしたので、 質問させていただきました。 PC用のコンテンツから携帯に移植する際に内容の圧縮の意味を込めて、作る必要がありましたので、お手数ですがよろしくお願いいたします。

    • ベストアンサー
    • PHP

専門家に質問してみよう