我有一个自定义字段,其中包含一些HTML代码:
<h1>A H1 Heading</h1>
<h2>A H2 Heading</h2>
<b>Rich Text</b><br>
fsdfafsdaf df fsda f asdfa f asdfsa fa sfd<br>
<ol><li>numbered list</li><li>fgdsfsd f sa</li></ol>Another List<br>
<ul><li>bulleted</li></ul>
我还有另一个非存储字段,我想使用REGEXP_REPLACE
显示以上内容的纯文本版本,同时保留回车符/换行符,甚至可以转换<br>
和{{ 1}}至<br/>
然而,与在freemarker中使用?replace(...)相比,NetSuite字段中的模式等似乎有所不同...而且我对记住正则表达式模式很恐惧:)
假设html文本存储在\r\n
中,我可以使用哪种表达式作为NetSuite文本区域自定义字段的默认值,以将上面的html代码显示为:
H1标题
H2标题
富文本
fsdfafsdaf df fsda f asdfa f asdfsa fa sfd
等...
我知道项目符号列表或编号列表看起来很糟糕。
我当前的无效公式是:
custitem_htmltext
我也尝试过:
REGEXP_REPLACE({custitem_htmltext},'<[^<>]*>','')
-无效
答案 0 :(得分:0)
使用自定义字段的文本区域类型并输入HTML时,NetSuite似乎将控制字符(“ <”和“>”)更改为HTML实体(“ <”和“>”)。如果输入HTML,然后将字段类型更改为Long Text,则可以看到此信息。
如果将两个字段都更改为“长文本”,然后重新输入数据和公式,则var http2 = require('http2');
var fs = require('fs');
var server = http2.createSecureServer({
key: fs.readFileSync('localhost-privkey.pem'),
cert: fs.readFileSync('localhost-cert.pem')
})
server.on('error', function (error) { console.error(error) })
server.on('stream', function (stream, headers, body) {
var method = headers[':method']
var path = headers[':path']
var body = body || ''
console.log(method, path, body)
stream.respond({
'content-type': `text/${type}`,
':status': 200
})
fs.readFile(file, function (error, file) {
if (error) file = fs.readFileSync('error.html')
return stream.end(file)
})
})
server.listen(3443)
应该可以正常工作。