この機能は、SQLクエリでHTMLを取り除くためにインターネット上で十分に文書化されています。T-SQL Pタグ以外のHTMLタグを置き換えます。
CREATE FUNCTION [dbo].[fnStripHTML] (@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
私は<p></p>
のpタグを開閉とは別に、すべてのHTMLを取り除くために、この関数を修正する必要があります。
私はしばらくそれをしてきましたが、まだ画期的なものはありませんでしたので、誰でも手助けできますか?
ありがとうございます。
アンドリュー
なぜ*データベース*でこれをやっていますか? HTMLタグの解析と置き換えは、通常は形式が不正なため、**難しい**です。正規表現を使って尋ねることはできません。単純なパターン置換はほとんどありません –
サニタイザライブラリ、正規表現、XML変換を使用して、*クライアント側でHTMLをクリーンアップすることHTMLの敏捷性のようなHTML解析ライブラリが含まれます。 –
@PanagiotisKanavosとここで合意しました。あなたが他の場所で行うことができない場合、あなたのためにそれを消毒するあなたの選択のいくつかの言語で小さなコンソール/ Webアプリケーションを構築するだけです。テキストの置換、デバッグ、ロギングのための優れたツール。 –