HTML文書から特定のタグ以外を変換しようとしているのですが、
[^]とiがヘンな風に作用しているのか上手くいきません。^^;
わかる方いましたら教えてください。
$foo = '<a href="bar">hoehoe</a><b>auau</b>';
$foo =~ s/<(\/[^a] *.*?)>/##$1##/isg;
■希望
<a href="bar">hoehoe</a>##b##auau##/b##
■現実
<a href="bar">hoehoe##/a####b##auau##/b##
以下のようにやると効率的ではありませんがうまくいきます。
$foo =~ s/[<>]/##/gs;
$foo =~ s/##(\/*a *[^#]*)##/<$1>/igs;
No.3
- 回答日時:
> 「教えてあげないと」の意味がよくつかめません。
[^(A|FONT|B|BR)]
の ^ に期待していることは、
<\/?([a-zA-Z]+).*>
の \1 に相当するところのうちの A|FONT|B|BR 以外ってこと
ですもんね。
正規表現で言うと、単純に A|FONT|B|BR 以外って言っちゃうと
長さ0の文字列や空白も、それに相当しますから。
>長さ0の文字列や空白も、それに相当しますから。
そうですよね。自分でもあとから気付きました。ハズかしいです。^^;
最終的にはこんな感じになりました。
$oktag = 'A|B|FONT|BR';
$hoe =~ s/\<(?!\/?($oktag)( [^>]*)?>)([^>]*)>/<$3>/oisg;
実際は value="<br>" とかコメントタグが入ってくると無効になって
しまいますがとりあえずはこれでいいかなと。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# Makefileのechoの展開について 2 2022/07/26 07:35
- その他(プログラミング・Web制作) zshの例外処理 1 2022/06/02 16:36
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- HTML・CSS CSSが上手く反映されないみたいです 2 2022/11/21 16:19
- HTML・CSS 【CSS】特定のリンクを含むaタグを指定できるかどうか? 3 2022/10/15 02:45
- HTML・CSS FC2カートのテンプレートでの商品表示について 1 2023/03/02 18:05
- HTML・CSS PrettierのHTMLの記述変更 linkタグ 1 2022/06/23 04:06
- HTML・CSS テキストを画面の真ん中に配置したいです。 2 2022/11/25 16:11
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語にパターンマッチってない...
-
メールアドレスの正規表現について
-
正規表現で囲まれた部分の文字列
-
正規表現でシングルクォーテー...
-
正規表現でAND検索はできる...
-
PS4コントローラーをPCでゲーム...
-
wordの何も書かれていない2ペー...
-
Chr(13)とChr(10)の違いは?
-
EXCELで=より左の文字を一括で...
-
「彡」って文字はなんという文...
-
エクセルでアルファベットか数...
-
セル内の文字列が日本語か英語...
-
エクセルで文字列の最大値を抽...
-
MMDでavi出力が出来ない
-
VBAでの Replace関数で、ワイル...
-
excelで勝手に改行されます
-
エクセルで文字列をtxtファイル...
-
【エクセル】セル最後にある無...
-
EXCEL(VBA) 末尾の改行のみ削...
-
OBS配信すると、マイクが途切れ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vbaの正規表現で、マッチした一...
-
正規表現 秀丸エディタ 行頭か...
-
正規表現でシングルクォーテー...
-
[VBS] テキストファイルから任...
-
メールアドレスの正規表現について
-
正規表現でAND検索はできる...
-
Perl 数値にスラッシュを入れる...
-
[正規表現] 数字範囲をヒット...
-
正規表現です。括弧内にある複...
-
C言語のコメントを「正規表現」...
-
文章中全ての半角カッコ ( の...
-
C言語にパターンマッチってない...
-
grepの正規表現での最短マッチ...
-
正規表現で囲まれた部分の文字列
-
正規表現
-
さくらエディタでGrep検索する...
-
正規表現
-
時間の正規表現
-
正規表現を使って文字列をコピー
-
正規表現で、青空文庫形式の入...
おすすめ情報