代码之家  ›  专栏  ›  技术社区  ›  Stefan Stoychev

mysql表导出为html

  •  0
  • Stefan Stoychev  · 技术社区  · 15 年前

    我在将mysql数据导出为html时遇到了一个小问题。问题是,在一个字段中,我有这样的值: <a href="http://google.com">Google</a> 当我以HTML格式导出表时,为这些字段生成的HTML表包含: &lt;a href=&quot;http://google.com&quot;&gt;Google&lt;/a&gt; 不是有效的HTML链接。有没有方法导出不带mysql的表来转换 < > 字符?

    我没有使用任何代码。我只使用mysql命令: mysql -H "select ...." 并指定输出文件。

    谢谢!

    2 回复  |  直到 15 年前
        1
  •  1
  •   bobince    15 年前
    when i export the table in html format the generated html table for this fields contains:
    &lt;a href=&quot;http://google.com&quot;&gt;Google&lt;/a&gt;
    

    很奇怪,我不明白这种行为(在5.1.34中):

    $ mysql -H -e "select 'a&b<c>d'";
    <TABLE BORDER=1><TR><TH>a&b<c>d</TH></TR><TR><TD>a&b<c>d</TD></TR></TABLE>
    

    而我 希望 你说的逃跑的行为!从我的示例中可以看出,否则会有html格式错误的风险。A </table> 在一个值中会破坏整个输出。

    如果要控制输出格式以允许在某些列或所有列中包含原始HTML内容,则(a)您 为此,需要编写一些代码,并且(b)您必须确保数据库中的内容是已知的安全HTML,没有可能破坏表的格式错误字符串或恶意JavaScript。

    这个 -H 选择权 mysql 不足以完成任务,而且从我们的不同结果来看似乎相当不可靠!您需要选择一种带有mysql绑定和手动输出行的脚本语言。

        2
  •  0
  •   Boris Guéry    15 年前

    导出的目的是导出数据,而不是提供数据的直观解释。 如果你想有有效的链接,你必须使用php或任何脚本语言。

    顺便说一句,就算你能耍花招也不应该。