Ruby中字符串的自定义html方法

Ruby中字符串的自定义html方法,ruby,string,parsing,Ruby,String,Parsing,我有如下字符串:#uuHi all 35;,我需要创建如下输出: <strong>Hi All</strong> 大家好 我一直在用谷歌搜索Ruby中的解析器,但我找不到一些小而简单的东西来学习如何做这类事情 有人能帮我做这件事的文档或想法吗 谢谢小而简单: text = "#_ Hi all _#" html = text.gsub(/#_ /,'<strong>').gsub(/ _#/,'</strong>') text=“###大家

我有如下字符串:#uuHi all 35;,我需要创建如下输出:

<strong>Hi All</strong>
大家好
我一直在用谷歌搜索Ruby中的解析器,但我找不到一些小而简单的东西来学习如何做这类事情

有人能帮我做这件事的文档或想法吗

谢谢

小而简单:

text = "#_ Hi all _#"

html = text.gsub(/#_ /,'<strong>').gsub(/ _#/,'</strong>')
text=“###大家好#”
html=text.gsub(/#!/,“”).gsub(/#!/,“”)
稍微高级一点:

tags = {
  '#_ ' => '<strong>', ' _#' => '</strong>',
  '#q ' => '<blockquote>', ' q#' => '</blockquote>'
}

html = text.gsub(/(#_ | _#|#q | q#)/){ tags[$1] }
标记={
“##”=>””、“#”=>“”,
“#q'=>”,“q'=>”
}
html=text.gsub(/(#| |#| |#| | | q |)/){tags[$1]}
如果需要,请提供一些更高级功能的想法:

  • 启用标记转义,例如
    \\\\\\
    表示“按原样显示此标记”

  • 确保开始标记具有相应的停止标记,例如“#…#”

  • 启用嵌套,例如“####!#!#!!_#

  • 从标记哈希动态生成gsub regexp

  • 等等

你看过Maruku Ruby Markdown解析器吗?我喜欢它的代码库,它有很多注释可以指导你:

小而简单:

text = "#_ Hi all _#"

html = text.gsub(/#_ /,'<strong>').gsub(/ _#/,'</strong>')
text=“###大家好#”
html=text.gsub(/#!/,“”).gsub(/#!/,“”)
稍微高级一点:

tags = {
  '#_ ' => '<strong>', ' _#' => '</strong>',
  '#q ' => '<blockquote>', ' q#' => '</blockquote>'
}

html = text.gsub(/(#_ | _#|#q | q#)/){ tags[$1] }
标记={
“##”=>””、“#”=>“”,
“#q'=>”,“q'=>”
}
html=text.gsub(/(#| |#| |#| | | q |)/){tags[$1]}
如果需要,请提供一些更高级功能的想法:

  • 启用标记转义,例如
    \\\\\\
    表示“按原样显示此标记”

  • 确保开始标记具有相应的停止标记,例如“#_#"

  • 启用嵌套,例如“####!#!#!!_#

  • 从标记哈希动态生成gsub regexp

  • 等等


你看过Maruku Ruby Markdown解析器吗?我喜欢它的代码库,它有很多注释可以指导您:

示例与降价标准非常相似。你检查降价了吗?您可以编写自己的渲染规则。我不能完全理解红地毯的源代码。。。您知道如何编写自己的语法解释器的示例链接吗?在使用哪种语法方面,您有选择吗?为什么不使用著名的和广泛使用的,如降价和纺织?编写语法解释器并不是一项简单的任务。这个例子和markdown标准非常相似。你检查降价了吗?您可以编写自己的渲染规则。我不能完全理解红地毯的源代码。。。您知道如何编写自己的语法解释器的示例链接吗?在使用哪种语法方面,您有选择吗?为什么不使用著名的和广泛使用的,如降价和纺织?编写语法解释器不是一件小事。哇!谢谢这些数据是从几十年前的数据导出的导入。。。我只是想清理一下文本。。。谢谢,我将检查链接,因为现在我在边界中有类似标记的数据:°嗨,大家好~°哇!谢谢这些数据是从几十年前的数据导出的导入。。。我只是想清理一下文本。。。谢谢,我将检查链接,因为现在我在边界中有类似令牌的数据:°Hi all°