标记与标记完美融合的单词并保持标记有效

时间:2013-01-17 16:24:35

标签: html css

有没有办法以某种方式在文本中标记一些单词,仅用于进一步的程序化处理,而不是任何visuell类型的东西?假设我有以下文字:

  

Lorem ipsum dolor sit amet,consetetur sadipscing elitr,sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,sed diam voluptua。在vero eos et accusam et justo duo dolores et ea rebum。 Stet clita kasd gubergren,no sea takimata sanctus est Lorem ipsum dolor sit amet。

我们说gubergren是我的关键字。我不能只解析gubergren的文本,因为我不知道我的关键字的价值。我可以做的是在渲染时用标记标记我的关键字:

  

Lorem ipsum dolor sit amet,consetetur sadipscing elitr,sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,sed diam voluptua。在vero eos et accusam et justo duo dolores et ea rebum。 Stet clita kasd <span class="keyword"> gubergren </span>,no sea takimata sanctus est Lorem ipsum dolor sit amet。

现在,我可以轻松地将span元素的文本解析为keyword作为类名,我可以获取我的关键字列表。但是如果span与CSS样式相关联怎么办?这在浏览器中看起来很傻。另一方面,我不能只发明一个自己的标签,因为我绝对希望我的网站保持HTML有效。

你有什么建议?

3 个答案:

答案 0 :(得分:3)

你有正确的方法。使用带有“关键字”类的span标记。您不应该担心CSS问题,特别是如果您是编写CSS的人。不要设置'关键字'类的样式。

如果你没有编写CSS,我无法想象为什么有人会在没有附加类选择器的情况下设置简单标记的的原因。这样做有可能打破很多事情。如果您担心“关键字”类附加了css,那么请将类名称设置为唯一。

如果你的其他人正在为没有类选择器的标记设置样式,请定义自己的样式,专门为具有“关键字”类的span标记去掉格式。

span.keyword {
   border: 0px;
   display: inline;
   background-color: transparent;
   ... whatever other formatting you may need to remove...
}

答案 1 :(得分:1)

关键词周围有2个看不见的东西?

示例:

<span style="display: none;">&nbsp;</span>gubergren<span style="display: none;">&nbsp;</span>

您可以检索跨度并获取2个跨度之间的内容。但我觉得这不是一个很好的解决方案。

最佳解决方案是不将css应用于具有特定类的跨度。但我想你已经知道了。

您还可以使用简单的html属性。示例:

<p data-keyword="gubergren">Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p>

答案 2 :(得分:0)

我不确定文字的来源。在我们的CMS中,我们使用||特殊代码。所以我会在我的副本中:

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
invidunt ut labore et dolore ||keyword|| magna aliquyam erat, sed diam voluptua. At vero

因为||很少用于其他任何事情,然后我解析我的数据服务器端寻找||。我将使用各种mid函数来获取我需要的数据并根据需要更改副本。在单词周围添加html元素,用表单或其他服务器端代码替换单词进行处理。能力是无穷无尽的。