I have a strings stored in my database formatted as html, and users can change the font size. That’s fine, but I need to make a report and the font sizes all need to be the same. So, if I have the following html, I want to modify it to have a font size of 10:
<HTML><BODY><DIV STYLE="text-align:Left;font-family:Tahoma;font-style:normal;font-weight:normal;font-size:11;color:#000000;"><DIV><DIV><P><SPAN>This is my text to display.</SPAN></P></DIV></DIV></DIV></BODY></HTML>
I have a user defined function, but apparently, I can’t use wildcards in a REPLACE, so it doesn’t actually do anything:
ALTER FUNCTION [dbo].[udf_SetFont]
(@HTMLText VARCHAR(MAX))
RETURNS VARCHAR(MAX)
AS
BEGIN
RETURN REPLACE (@HTMLText, 'font-size:%;', 'font-size:10;')
END
(Of course, it would be even better if I sent the font size as a parameter, so I could change it to whatever.)
How do I modify this to change any string so the font size is 10?
This appears to work, although I’ve only tried it on one string (which has the font set in 2 places). I started with code that strips ALL html and modified it to only look for and change ‘font-size:*’. I suspected there would be issues if the font size is 9 or less (1 character) and I’m changing it to 10 (2 chars), but it seems to work for that too.