在Lua中将HTML代码块添加到字符串(concat)中

时间:2010-07-13 07:58:36

标签: html string lua

我知道我可以像Lu那样连接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>
                             "

1 个答案:

答案 0 :(得分:6)

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

在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