在Lua中将HTML代码块添加到字符串(使用连接符)。

我知道在 Lua 中可以像这样串联字符串

String = String .. 'more'

但如果我想添加 HTML 并保持(显然)它的外观怎么办? 例如,当我这样做时,我将如何克服

luac: Perl to Lua:226: unfinished string near '''

错误

Html_string = Html_string .. "
                <tr>
                    <th class=row>" . gettext("Last Upgrade") . "</th>
                    <td title=\"Upgrade_date\"Upgrade_status</td>
                </tr>
                             "

原文链接 https://stackoverflow.com/questions/3235165

点赞
stackoverflow用户345930
stackoverflow用户345930

你可以使用多行字符串标记。

在 Lua 中,可以使用 [[ .. ]] 语法来实现。

例如:

  Html_string = Html_string .. [[
                <tr>
                    <th class="row">]] .. gettext("Last Upgrade") .. [[</th>
                    <td title="Upgrade_date">Upgrade_status</td>
                </tr>
  ]]

[[..]] 中,你甚至不需要转义任何字符。如果你的 HTML 内容恰好包含 [[ ..]],你可以将其扩展为 [=[ .. ]=],以避免冲突。这个扩展可以应用于任意数量的 = 号,只要在开放和关闭标记中数量相同即可。

参考 PiL,它甚至使用 HTML 作为多行字符串的示例。

http://www.lua.org/pil/2.4.html

2010-07-13 08:17:19