2012-11-14 58 views
-1

好的,这是我的背景。我正在尝试创建一个输入并显示输出的页面。容易吧?那么它比这更复杂一点。首先我想为化学做这个。我正在与阳离子和阴离子。一个简单的常见列表可以找到here如何将输入的某些部分与输出匹配

我的目标是接受用户的输入,并根据该输入给他们适当的平衡方程和名称。这样做的过程可以找到here

我需要做的第一件事是解析信息,以便找出它是什么元素以及它有什么收费。我相信最好的方法是创建一个包含化学符号,名称和电荷的数组。

确定什么是阳离子和阴离子后,我会做“十字交叉”的方法找到平衡电荷。从那里我需要查看每个离子的元素名称。做完这些后,我找到与公式匹配的名称,然后在名称前添加每个元素的数量。

当我试图将所有这些信息组合成一个字符串时,我的第一个问题就出现了。我如何将这三个字符串添加到一起。

我的第二个问题部分来自解析,部分来自数组。当有更复杂的离子时,首先有两个原因。我解析信息的方式是用大写字母。当人们使用这些更大的离子时,这就产生了很小的问题,因为那时我必须处理相当数量的这些离子。或者当他们尝试代表多个相同的化合物时。 IE他们写这样的Mg(ClO/4)/ 2(我用正斜杠来表示这种类型的元素的数量)。我需要确保我有两个ClO/4。你会如何发现我首先正确解析这些以获取元素?我该如何确保我保持直线,谁拥有多少?

回答

0

这不会是一个简单的应用程序。您将需要从元素,离子,分子等的综合列表开始,以及它们的属性和名称变体。之后,您将不得不使用各种string functions来将用户输入与该数据中的某些内容匹配。

至于输出,你可以使用HTML/CSS函数的sub/superscript像toninoj提到的,为更复杂的东西,你可能会想看看LaTeX

有可能是整个大学课程涵盖这样的事情,和商业软件包完全是这样。

+0

我有清单,但事情是我无法弄清楚我需要哪些字符串,以及我需要如何使用它们,我知道的那些字符串不会帮助我。 – Griffin

1

我相信你需要的是substr()函数。也就是说,你只是想选择第2,3或任何字母。 但是在需要自定义缩写形式的情况下,您需要以associative array或类似的形式提供它。

所以数组内,你将有$myarray = ["name"=>"MagnesiumWhatever", "abbreviation"=>"Mg24xy"]

我想你也将需要subscript/superscript letters在你的HTML。

现在你有链接如何做到这一点。做一点研究。祝你好运。

+0

我在html中遇到的下标/上标数字的问题并不是我的代码不能接受它,而是用户输入它更困难。 – Griffin