[解決済み] SQL Serverで文字列からHTMLタグを取り除くには?
2022-07-02 14:22:47
質問
SQL Server 2005 に HTML タグを含むデータがあり、タグの間にテキストだけを残して、それをすべて取り除きたいと思っています。理想的には、次のようなものも置き換えます。
<
を
<
など。
これを行う簡単な方法はありますか、または、誰かがすでにいくつかのサンプルT-SQLコードを持っていますか?
私は拡張ストアド プロックなどを追加する能力を持っていないので、純粋な T-SQL アプローチ (できれば SQL 2000 と下位互換性のあるもの) を希望しています。
私は HTML を除去したデータを取得したいだけで、更新はしません。したがって、理想的には、簡単に再利用できるように、ユーザー定義関数として記述されます。
なので、例えばこれを変換する。
<B>Some useful text</B>
<A onclick="return openInfo(this)"
href="http://there.com/3ce984e88d0531bac5349"
target=globalhelp>
<IMG title="Source Description" height=15 alt="Source Description"
src="/ri/new_info.gif" width=15 align=top border=0>
</A>> <b>more text</b></TD></TR>
をこれに変更します。
Some useful text > more text
どのように解決するのですか?
そのためのUDFがありますので、こちらを参照してください。
CREATE FUNCTION [dbo].[udf_StripHTML] (@HTMLText VARCHAR(MAX))
RETURNS VARCHAR(MAX) AS
BEGIN
DECLARE @Start INT
DECLARE @End INT
DECLARE @Length INT
SET @Start = CHARINDEX('<',@HTMLText)
SET @End = CHARINDEX('>',@HTMLText,CHARINDEX('<',@HTMLText))
SET @Length = (@End - @Start) + 1
WHILE @Start > 0 AND @End > 0 AND @Length > 0
BEGIN
SET @HTMLText = STUFF(@HTMLText,@Start,@Length,'')
SET @Start = CHARINDEX('<',@HTMLText)
SET @End = CHARINDEX('>',@HTMLText,CHARINDEX('<',@HTMLText))
SET @Length = (@End - @Start) + 1
END
RETURN LTRIM(RTRIM(@HTMLText))
END
GO
編集:これはSQL Server 2005用ですが、キーワードMAXを4000などに変更すれば、SQL Server 2000でも動作することに注意してください。
関連
-
[解決済み] <html xmlns="http://www.w3.org/1999/xhtml">」は何をするものですか?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] SQL ServerでSELECTからUPDATEする方法とは?
-
[解決済み] 文字列の単語を反復処理するにはどうすればよいですか?
-
[解決済み] SQL Server で複数行のテキストを 1 つのテキスト文字列に連結する方法
-
[解決済み] SQL Server の DateTime データ型から日付だけを返す方法
-
[解決済み] SQL ServerでJOINを使用してUPDATE文を実行するにはどうすればよいですか?
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
-
[解決済み】SQL Serverで既存のテーブルにデフォルト値を持つカラムを追加する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] slackのチームIDやチャンネルIDを調べる最も簡単な方法は何ですか?
-
[解決済み] 要素を水平方向にセンタリングする方法
-
[解決済み] インラインCSSでa:hoverを記述するには?
-
[解決済み] 入力テキストボックスの値を取得する
-
[解決済み] WebSocketとサーバー送信型イベントの比較/EventSource
-
[解決済み] フレックスアイテムを右寄せにするには?
-
[解決済み] HTMLアンカーは'name'と'id'のどちらで作成するのが良いですか?
-
[解決済み] Do I use <img>, <object>, or <embed> for SVG files?
-
[解決済み] label要素の中にinput要素を入れるべきですか?
-
[解決済み] CSS背景のストレッチとスケール