![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
DB内データの<a>タグを、全て[url]タグへ変更したいのですが、どうすればよいでしょうか?
<経緯>
・ブログを移行したのですが、新しいブログでは、<a>タグを全てエスケープするので、該当データを[url]タグへ一括変換して、リンク表示させたい
<変換したいこと>
・対象DB指定カラム(entry)内の、全ての「<a href="○○">△△</a>」を、「[url=○○]△△[/url]」へ変更したい
<質問>
・どうやって、やるのでしょうか?
・UPDATE文を利用して、正規表現とかでやるのでしょうか?
・それとも、DUMPデータを取得して、秀丸で正規表現とかでやるのでしょうか? その場合は、どう書けば良いでしょうか?
<環境>
・MySQL
No.1ベストアンサー
- 回答日時:
・どうやって、やるのでしょうか?
たぶん、
残念ながら手間がかかりますが、「<a href="○○">△△</a>」をすべて洗い出して
「[url=○○]△△[/url]」との対応を1個ずつ決めてから
1個ずつ処理するしかないです。
というのは、正規表現で検索はできるけれど、正規表現で置き換えはできない場合が多いからです。
(秀丸は使っていないから未確認です。)
例えばエディタで置き換えで正規表現が使えるチェックをいれて(秀丸はチェックなどしなくてもいいかもしれませんが)、この文書で、「正規表現*でき」を「AAA*BB」にでも置き換えしてみてください。
「正規表現で検索はでき」が「AAA*BB」におきかわってしまい、「AAAで検索はBB」とはならないはず。
という前提の下、
selectで、<a href="○○">△△</a>を全部探し出して、リストを作って、
update ・・・ set entry = replace(entry,'<a href="○○">△△</a>','[url=○○]△△[/url]')
を複数回実行するのが一番早いかなと思います。
(replaceは大文字小文字を区別しますので注意。whereはつけたほうが早いけどなくても大丈夫)
★!以下はもっと簡単な方法ですが特殊な前提が必要!★
<a href="○○" の○○"の部分が必ず・・・.html"で終わっていて、
他には.html"の文字列がないならば以下の方法が使えるかもしれません。
※*.htmや*.php、*.jspで終わっているとしても同様。
update ・・・ set
entry = replace(replace(replace(entry
,'<a href="'.'[url=')
,'.html">','.html]')
,'</a>','[/url]')
の実行。(それぞれの要素を置き換える)
ただし、<a>以外の要素で.html">が含まれていると完全にデータが潰れてしまいますので
!!!要注意!!!
(例えば、<iframe>や<form>等。
<button>もscript埋め込みになっていてたまたま最後が.html">になっていたとかが
ありえるので危ない。)
2つ目のreplaceを
,'">',']')
とすれば.htmlだろうがなんだろうが<a>はうまくいくのにと思うかもしれませんが
このために他が潰れるから使えないということでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(学校・勉強) この中で間違ってある説明はありますか?詳しい方に教えていただきたいです。 A. 1つのプログラムが複 2 2023/07/14 01:15
- JavaScript WordPressのコンタクトフォーム7にて送信者の位置情報を送らせたい 2 2022/09/14 23:28
- Amazon Amazonで、前回購入した履歴から全く同じ衣類(Tシャツ)の商品を購入したのですが、前回購入した時 2 2022/07/11 22:48
- HTML・CSS FC2カートのテンプレートでの商品表示について 1 2023/03/02 18:05
- ヤフオク! ヤフオクに出品したいのですが、タグを実行出来ません。 2 2022/09/16 12:36
- PHP php my adminより取り出したデータ表示 2 2022/06/15 11:56
- WordPress(ワードプレス) ワードプレスで、投稿一覧ページにタグを表示する方法 投稿につけたタグを、記事一覧ページにもカテゴリと 1 2023/05/10 21:41
- Visual Basic(VBA) Excel VBA 書式変更で困ってます。 オートフィルターの日付フィルターを用いて データの絞り込 2 2022/07/26 22:16
- IT・エンジニアリング ドメイン駆動設計の値オブジェクトについて質問 1 2023/05/13 02:50
- MySQL PHP 画像のアップロード Qiita 2 2022/11/28 04:44
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
BLOB型のPDF出力の方法
-
PHP・MySLを使用してURLを保存...
-
mysqlでの対象範囲で検索するSQ...
-
MySQLでテーブル一致条件に正規...
-
urlを短くする方法を探していま...
-
あの、WEB巡回自動スクリーンシ...
-
大量のPHPファイルからタイトル...
-
Excel 2019 のピボットテーブル...
-
エクセルVBAで5行目からオート...
-
Accessでテーブル名やクエリ名...
-
Accessクエリーで両方のテーブ...
-
Access VBAでクエリーのレコー...
-
主キーはオートナンバー型のID...
-
ORACLEでLONG項目からCHAR項目...
-
Accessでテーブルの値をテキス...
-
Accessレコードの追加や変更が...
-
Oracle 2つのDate型の値の差を...
-
Accessのクエリでデータの入力...
-
Accessのフィールド数が255しか...
-
Oracleのビュー作成時に「指定...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
BLOB型のPDF出力の方法
-
TortoiseSVNのリポジトリブラウ...
-
エクセル内のURLからHPのタイト...
-
autorun がうまく動作しない
-
text型とuniqueについて
-
PHP+MySQLで複数配列の挿入(IN...
-
大量のPHPファイルからタイトル...
-
Webページ上のチェックボックス...
-
Excel 2019 のピボットテーブル...
-
エクセルVBAで5行目からオート...
-
「直需」の意味を教えてください
-
Accessでテーブル名やクエリ名...
-
Oracle 2つのDate型の値の差を...
-
Access テキスト型に対する指定...
-
Accessでテーブルの値をテキス...
-
Accessでコードを入れると名前...
-
変数が選択リストにありません
-
ACCESSのクエリで集計で、先頭...
-
作番ってどういう意味でしょうか?
-
Excelで空白以外の値がある列の...
おすすめ情報