Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL Server Schriftart in HTML-String ändern

Dies scheint zu funktionieren, obwohl ich es nur an einer Zeichenfolge ausprobiert habe (bei der die Schriftart an zwei Stellen festgelegt ist). Ich habe mit Code begonnen, der ALLE HTML-Codes entfernt, und ihn so geändert, dass er nur nach 'font-size:*' sucht und diese ändert. Ich vermutete, dass es Probleme geben würde, wenn die Schriftgröße 9 oder weniger (1 Zeichen) beträgt und ich sie auf 10 (2 Zeichen) ändere, aber es scheint auch dafür zu funktionieren.

ALTER FUNCTION [dbo].[udf_ChangeFont]
(@HTMLText VARCHAR(MAX), @FontSize VARCHAR(2))
RETURNS VARCHAR(MAX)
AS
BEGIN
DECLARE @Start INT
DECLARE @End INT
DECLARE @Length INT
SET @Start = CHARINDEX('font-size:',@HTMLText)
SET @End = CHARINDEX(';',@HTMLText,CHARINDEX('font-size:',@HTMLText))
SET @Length = (@End - @Start) + 1

WHILE @Start > 0
AND @End > 0
AND @Length > 0
BEGIN
SET @HTMLText = STUFF(@HTMLText,@Start,@Length,'font-size:' + @FontSize + ';')
SET @Start = CHARINDEX('font-size:',@HTMLText, @End+2)
SET @End = CHARINDEX(';',@HTMLText,CHARINDEX('font-size:',@HTMLText, @End+2))
SET @Length = (@End - @Start) + 1
END
RETURN LTRIM(RTRIM(@HTMLText))
END