gpt4 book ai didi

mysql - 在 ColdFusion 9 中将 HTML 格式的文本转换为常规文本

转载 作者:行者123 更新时间:2023-11-29 02:31:32 30 4
gpt4 key购买 nike

一个应用程序由作为前端的 Flex、作为中间层的 ColdFusion 9 和作为后端的 MySQL 5 组成。

MySQL 表包含一些包含 HTML 格式的字段。所以,如果一个字段有值字符串“测试记录”,它被存储为 <TEXTFORMAT LEADING="2"><P ALIGN="LEFT"><FONT FACE="Arial" SIZE="12" COLOR="#0B333C" LETTERSPACING="0" KERNING="0">Test Record<FONT SIZE="8"></FONT></FONT></P></TEXTFORMAT>在 MySQL 表中

现在,该字段的值在 PDF 文档中打印为

<cfdocument format="pdf" filename="#report_filename_format#" orientation="landscape"
overwrite="yes"
marginbottom="0" marginleft="0" marginright="0" margintop="0"
pagetype="legal">


<tr>
<td width="20%" style="background-color:##CCCCCC; font-weight:bold; text-transform:uppercase; vertical-align:top;">
Value
</td>
<td width="80%">#printrecord.field_value#</td>
</tr>

由于字段值是用HTML格式存储的,占用的空间比较多,没有控制打印文本的字体类型和字体大小。

  1. ColdFusion 9 中是否有任何函数可以将字段的值转换为常规文本(没有 HTML 格式),这样无论“测试记录”是否以 10 号字体存储,它都会打印相同的内容或字体大小 30?

  2. 我正在考虑一种方法是获取在 Flex 应用程序中打印的记录,使用 TextArea 控件的 field.text 属性(在 Flex 中)转换为常规文本,然后将转换后的值传递给 ColdFusion 以在 PDF 文档中打印。还有其他更好的选择吗?

如有任何建议,我们将不胜感激。

最佳答案

其实“解决”很简单:

<cfscript>
data = '<TEXTFORMAT LEADING="2"><P ALIGN="LEFT"><FONT FACE="Arial" SIZE="12" COLOR="##0B333C" LETTERSPACING="0" KERNING="0">Test Record<FONT SIZE="8"></FONT></FONT></P></TEXTFORMAT>';
regex = "<(.|\n)*?>";
result = reReplaceNoCase(data, regex, "", "all");

writeOutput(result);
</cfscript>

我已经为我的示例在 HTML 中添加了一个哈希标记以避免语法错误。根据您所说的,我假设这无论如何都会被数据库查询获取。

另外(现在吹毛求疵!)我建议用新值更新数据库,如果可以的话,去掉内联样式,改用 CSS ;-)

关于mysql - 在 ColdFusion 9 中将 HTML 格式的文本转换为常规文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12482341/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com