如何为嵌套HTML标签加换行前缀适配Postmark API(ColdFusion)
适配Postmark API的ColdFusion HTML格式化实现
要实现你需要的格式,用ColdFusion的正则替换就能一步搞定,同时可按需替换文本内容,代码如下:
<cfset vHTML = "<html><body><div>This is html</div></body></html>"> <!--- 在除<html>起始标签外的所有HTML标签前插入换行 ---> <cfset vPostmarkHTML = REReplace(vHTML, "(?<!<html>)(?=<\/?[a-z]+>)", chr(10), "all")> <!--- 替换指定文本内容(如果需要的话) ---> <cfset vPostmarkHTML = Replace(vPostmarkHTML, "This is html", "This is postmark html")> <!--- 输出结果就是你要的格式 ---> <cfoutput>#vPostmarkHTML#</cfoutput>
代码说明
- 正则表达式
(?<!<html>)(?=<\/?[a-z]+>):(?<!<html>)确保匹配的位置前面不是<html>标签,避免在起始<html>前加换行(?=<\/?[a-z]+>)匹配任意HTML开始标签(如<body>)或结束标签(如</div>)的前置位置- 用
chr(10)(ColdFusion中的换行符)替换匹配到的位置,实现每个目标标签前换行的效果
- 额外的
Replace方法用于替换文本内容,可根据实际需求保留或删除
执行后得到的vPostmarkHTML内容就是:
<html> <body> <div>This is postmark html</div> </body> </html>
内容的提问来源于stack exchange,提问作者user460114
相关产品推荐
相关产品推荐

