我正在电子邮件中插入 SQlite 表格字段,在awk
中使用:
system("sqlite3 database.db " sprintf("\"UPDATE tbl SET email = '<a href=\\\"mailto:%s\\\">%s</a>' WHERE field = '%s'\", m[1], m[1], l))"))
之后使用bash中的SELECT
查询:
function do_query() {
sqlite3 -batch database.db <<- "end_of_message"
#...
#...
#.. outputs to "o.html"
select field1,email,field3 from tbl; # <-- HERE IS THE SELECT
QUERY FOR THAT EMAIL FIELD
end_of_message
#...
#... here just embedding output of this into my template file
#... which is some simple HTML
sed -e '
/\${template_tag}/ {
r o.html <--output from sqlite3 select statement
d
}
' template.html > out.html
}
,在浏览器中渲染这个字面意思:
<a href="mailto:worldnamegroup@gmail.com">worldnamegroup@gmail.com</a>
,而不是worldnamegroup@gmail.com
作为clickto
邮件链接。
所以在浏览器的source view
中,我看到了这一点:
<a href="mailto:worldnamegroup@gmail.com">worldnamegroup@gmail.com</a>
<
和>
分别转换为<
和>
。
如何插入email
以便我在浏览器中正确呈现电子邮件
链路?
编辑1
它也很奇怪我从那个选择中得到了其他输出,比如<td>
例。但是当.mode
设置为html
时, sqlite 会在内部完成。
编辑2
我发现真正的问题可能是sqlite模式选项。设置.mode
column
后,它会在终端显示良好状态,但在.mode html
时显示:
<TD><a href="mailto:worldnamegroup@gmail.com">worldnamegroup@gmail.com</a></TD>
编辑3 在有人提出更聪明的东西之前,我做了一个像这样的解决方法:
cat o.html |recode html..ascii
,然后使用其输出来提供我的template
。