HTMLのタグを別のタグに置換しようとしています。
HTML中に複数ある<a></a>タグ
<a href="/w/index.php?title=%E3%83%95%E3%82%B0%E3%83%AA%E3%83%BC%E5%B7%9D&action=edit" class="new" title="フグリー川">フグリー川</a>など
という文字列の<a></a>タグを<span style="color:#ff0000;"></span>に置換したいのです。
$pattern = '|<a href="/w/index\.php\?title=.*?">(.*)</a>|';
$replace = '<span style="color:#ff0000 ;">\\1</span>';
preg_replace( $pattern, $replace, $html, -1, $count);
print $count;
$countの表示は 1 でした。上記のような<a>タグは複数あるのに。
上記のような<a>タグをマッチさせるにはどうパターン表記したらいいでしょうか?
PHP5.2.4です。
ご教授お願いします。
No.4ベストアンサー
- 回答日時:
> やってみると結果は変化なかったです。
改めて質問文にあるスクリプトを見て気になったのですが、
PHP: preg_replace - Manual
http://www.php.net/preg_replace
> preg_replace( $pattern, $replace, $html, -1, $count);
replace の結果は関数の戻り値として得られるので、
このような呼び出しをして $htmlを参照しても
置換は反映されていません。
$result = preg_replace( $pattern, $replace, $html, -1, $count);
とかして、$resultの結果を見たらどうなってますか?
No.3
- 回答日時:
マッチの数はたぶん期待通りだったんですよね?
であれば、$replace にセットする値の中の \\1 を \1 に変えてみてください。
> '|<a[^>]+>([^</a>]*)</a>|'
たぶん文字クラスの仕様を誤解されてます。>#2
はい、マッチ数は期待どうりになりました。
いろいろ調べてsakusaker7の仰るところにたどりついたのですが、やってみると結果は変化なかったです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP ランキングを表示する際の画像の大きさを固定することは可能でしょうか? <?php if ( has_ 1 2022/07/21 14:55
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- HTML・CSS アコーディオンメニューが思うように動作しません。 1 2023/08/20 16:48
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- HTML・CSS html cssのmargin 5 2022/12/03 11:04
- HTML・CSS cssの display: flex;で横並びにならずに困ってます 1 2022/12/04 13:18
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPの正規表現でHTMLタグの内容...
-
wordpressで
-
VBAのコマンドボタンの文字列の...
-
ソースコードの1行が長いとき...
-
エスケープ文字の復帰(¥r)と...
-
改行を読み飛ばす
-
C++で空Enterの入力を判...
-
メッセージボックスで1025文字...
-
文字の入力で横バー上段、中断...
-
エクセルVBA 文字列領域が不足...
-
カンマの含まれる文字列の数値...
-
エクセルのCOUNTIFが正しくカウ...
-
数値をASCII文字にする方法につ...
-
ファイルの内容をstrcpyを使っ...
-
ラベル(スタティックテキスト)...
-
VBScriptである文字列に半角文...
-
半角記号、全角記号を含む正規...
-
VBSで"をエスケープする文字は?
-
C++でのCRLFについて
-
全角括弧と全角読点の間隔を狭...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
[php][正規表現]タグ以外を削除...
-
正規表現で複数行に渡る範囲を...
-
変数にHTMLを代入する場合
-
phpの正規表現でstyle="●●"を削...
-
正規表現でタグの置換をしたい...
-
タグにはさまれている文字以外...
-
コメントタグに挟まれた部分を...
-
Nvuで作成したhtmlをコピペして...
-
htmlのソースからテーブルの値...
-
htmlタグ間の特定文字置換
-
スクレイピングの仕方
-
Java正規表現-"ある文字列"を含...
-
JSFタグのfタグとは
-
タグとクッキーって関係あるん...
-
eclipseより、タスク・タグの使...
-
PHP 取得した経過時間の表示に...
-
htmlソースの中を検索して、
-
srcに「banner.」で始まるファ...
-
アフィリエイトタグについて質...
-
アクセス解析データがでません...
おすすめ情報