Problem
Aus einer Selektion sollen alle HTML Tags entfernt werden.
Ansatz – Approach
– Erstellen einer Function
– SQL Abfrage absetzen (z.B. i.e. dbo.udf_StripHTML(‚HTML‚))
– Create a custom function
– Make your SQL Statement (i.e. dbo.udf_StripHTML(‚HTML‚))
Lösung – Solution
Als erstes wird die Funktion udf_StripHTML(STRING) erstellt:
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
[/javascript]
Der obige Text wird hierzu einfach in das SQL Server Management Studio kopiert, markiert und ausgeführt.
Zum Schluss wird die Abfrage abgesetzt:
[javascript]
SELECT dbo.udf_StripHTML(htmlTextFeld) FROM Tabelle
-- ODER
SELECT dbo.udf_StripHTML('<a href="irrsinn.php">Grober Unfug</a> ist keine <b>Methode</b> sondern <div style="font-family:Times;">Kriegsführung</div>')