sql >> Databasteknik >  >> RDS >> Sqlserver

SQL Server ändra teckensnitt i html-sträng

Detta verkar fungera, även om jag bara har provat det på en sträng (som har typsnittet på 2 ställen). Jag började med kod som tar bort ALL HTML och modifierade den för att bara leta efter och ändra 'font-size:*'. Jag misstänkte att det skulle vara problem om teckenstorleken är 9 eller mindre (1 tecken) och jag ändrar den till 10 (2 tecken), men det verkar fungera för det också.

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


  1. MySql SELECT union för olika kolumner?

  2. MySQL-skillnad mellan två rader i en SELECT-sats

  3. Skicka en HTML-tabellrad till php

  4. Välj fråga med villkoret