【发布时间】:2012-10-04 11:06:16
【问题描述】:
我正在编写一个简单的 Ruby on Rails 应用程序。我有一个带有“描述”属性的模型,它是一个字符串。
我想在视图中显示此字符串,但字符串中的一些单词使用特殊的音乐字体(位于 here 的字体之一)呈现,并且休息使用网站的主要字体。问题是,由于 description 属性只是一个持久化到数据库中的字符串,因此没有真正的方法来判断哪些单词应该使用特殊字体...
我能想到的唯一方法是定义我自己的“转义序列”或“特殊字符”,这样我就可以向视图指示一个单词是否应该使用特殊字体。
例如,假设我有以下字符串:
cat dog rabbit elephant
如果我想让“dog”和“elephant”使用特殊字体,我可以将字符串存储在数据库中:
cat ${dog} rabbit ${elephant}
换句话说,使用“${}”作为自定义转义序列。
然后在我看来,我将有一个辅助方法来处理字符串,并为使用转义序列的单词生成适当的 HTML/CSS。例如,这是我期望它产生的那种输出:
<p>cat <span class="music">dog</span> rabbit <span class="music">elephant</span></p>
这看起来是一个合理的解决方案吗?如果是这样,我将如何实现视图方法来解析字符串和转义字符?我猜是某种正则表达式?
在某种程度上,它有点类似于 LaTeX 允许您渲染数学方程式的方式。例如,在 LaTeX 中,要激活特定字符的数学字体,您可以这样做:
\mathnormal{some text}
【问题讨论】:
标签: ruby regex escaping character special-characters