好吧,我正在为Unity做一个geshi语法阅读器,好吧,我在从一些html标签设置新值时遇到了一些麻烦。
我的代码是:http://rextester.com/BZH23246
我会尽可能清楚地解释。
简单地说,我从字符串中获取CSS样式,然后将它们存储在Dictionary中。
然后,我使用另一种方法从包含所有代码的div中获取所有innerHTML(是的,我使用htmlagilitypack,但在Rextester中,因为它的逻辑我无法使用它,所以,我手动编写完整的字符串。
当我获得所有HTML时,我逐个标记,然后使用ContentFormatter方法替换它。在其中,我获得了CSS解析方法和Dictionary中的先前值。
第一种方法(ContentMultiFormatted)将CSS值拆分为CSS选择器及其值。例如:
.somelement {颜色:白色;字体大小:12;}
这转化为:
键: somelement
值:颜色:白色;字体大小:12;
当调用ContentFormatter时,根据我们选择的类获取此值,并将其重新分成两个值,这是获取此元素的所有样式的时间。
键:颜色
值:白色
键: font-size
价值: 12
当发生这种情况时,我会对值进行分类。返回它被替换的东西。
因此,如果我有这两个值,我必须将<span>
标记转换为<color=white><size=12>
和</span>
标记为</size></color>
。
出于某种原因,当打开粗体标签时,稍后它不会关闭。我不知道自己该做什么。
我尝试了10种方法来解决它,没有任何运气。你可以想象,我几乎疯了。
我认为,它有多个错误,但我无法检查它,因为实际问题并没有让我前进。