2

たとえば、私が持っている場合

<b>some king of #1 Text</b>

mysqlテーブルに保存されています。変更する方法はありますか

<h2>some king of #1 Text</h2>

各行に移動して手動で変更する必要はありません。

場合によっては[可能であれば]交換する必要があります

<p><b>some king of #1 Text</b></p><p>other text</p>

<h2>some king of #1 Text</h2><p>other text</p>

. 私はおそらくSQL式を考えていました。

4

1 に答える 1

1

タグが他の属性のように見え、他の属性がない場合REPLACE()は、この関数を使用します。これは、実際には単純な文字列置換アクションにすぎないためです。<b></b>

UPDATE yourtable SET thecolumn = REPLACE(thecolumn, '<b>', '<h2>');
UPDATE yourtable SET thecolumn = REPLACE(thecolumn, '</b>', '</h2>');

タグに他の属性が含まれている<b class='something'>場合は、HTMLパーサーを使用して出力時に変更するのが最善です。

質問が編集された後の更新:

余分な空白のない正確なパターン がある場合でも、を使用できますが、上記の2つのにこのペアを実行する必要があります。<p><b>...</b></p>REPLACE()

UPDATE yourtable SET thecolumn = REPLACE(thecolumn, '<p><b>', '<h2>');
UPDATE yourtable SET thecolumn = REPLACE(thecolumn, '</b></p>', '</h2>');

これを超える複雑さは、前述のように適切なHTMLパーサーを使用してアプリケーションコードのHTMLを変更することで最も適切に処理されます。

于 2012-06-13T11:15:50.417 に答える