php - 如何在php中存储和显示数据库中的(C8H9NO2)等化学式
问题描述
如何将化学式如(C8H9NO2)存储在php的数据库中。然后在 php 中显示化学式如 (C8H9NO2) 在 此处输入图像描述
解决方案
我只是在本地对其进行了测试,我认为这就是您要寻找的:
preg_replace('/(\d+)/i', '<sup>$1</sup>', 'C8H9NO2')
// returns "C<sup>8</sup>H<sup>9</sup>NO<sup>2</sup>"
您可以存储此 HTML,它将每个数字呈现为上标。如果您希望它们作为下标,请替换sup
为sub
.
至于将其存储到数据库,我必须说实话,StackOverflow 并不完全是一个教程网站,但您可以在数据库上创建一个VARCHAR
或TEXT
列并将其存储在那里。我认为最好在保存时格式化文本,这样您就不必在每次为每个公式呈现页面时都这样做。但是,这取决于您,也许您需要原始文本。我想无论哪种方式都很好。
编辑
再次看到图片后,我注意到它与问题中显示的不同,因此选择sup
或sub
相应地很重要。如问题所示,它应该是sup
;但是,根据示例图像,您要求sub
. 所以:
preg_replace('/(\d+)/i', '<sub>$1</sub>', 'C8H9NO2')
// returns "C<sub>8</sub>H<sub>9</sub>NO<sub>2</sub>"
在您的代码中,最终结果如下:
<b>Molecular Formula by Element:</b> <?=preg_replace('/(\d+)/i', '<sub>$1</sub>', $row['mole_for_element'])?><br>
推荐阅读
- symmetricds - SymmetricDS 中的转换与表触发器
- javascript - 如何在不损害一致性的情况下使用 LoopBack 3 增加一些数据?
- r - 在ggplot boxplot中绘制多个框?
- r - 点图:如何根据数据中的值更改点图的点大小并将所有 x 轴值变为整数
- r - 在R中循环保存多个图
- php - 如何在 laravel-validation-rules/credit-card 中获取验证信息
- apache-kafka - 使用 emitEarlywhenFull() 进行翻滚窗口的抑制是如何工作的?
- c# - 有什么方法可以使用 NPOI 从 excel 中提取图表?
- git - 手动合并 GitLab 合并请求
- algorithm - 检测异常值的最佳方法是什么?