如何设置放置在Drupal节点字段中的字符串或子字符串的样式?

如何设置放置在Drupal节点字段中的字符串或子字符串的样式?,drupal,drupal-6,Drupal,Drupal 6,在Drupal6中,我有一个自定义节点,它只包含一个纯文本字段 我希望能够检测以下字符串:“@[name]”,其中[name]是不带空格的字符串。理想情况下,最好用一个id将此文本包装在一个跨度中,这样我就可以根据自己的意愿对其进行样式设置。主要的挑战是字符串不是固定的,因此可能是任意文本 是否存在用于此类对象的模块,或者我可以使用钩子实现?我研究了字符串覆盖,但这仅适用于固定字符串。您可以为该内容类型创建自定义模板。然后,您可以将字段包装在您喜欢的任何元素中,并使节点看起来像您喜欢的那样。看看

在Drupal6中,我有一个自定义节点,它只包含一个纯文本字段

我希望能够检测以下字符串:“@[name]”,其中[name]是不带空格的字符串。理想情况下,最好用一个id将此文本包装在一个跨度中,这样我就可以根据自己的意愿对其进行样式设置。主要的挑战是字符串不是固定的,因此可能是任意文本


是否存在用于此类对象的模块,或者我可以使用钩子实现?我研究了字符串覆盖,但这仅适用于固定字符串。

您可以为该内容类型创建自定义模板。然后,您可以将字段包装在您喜欢的任何元素中,并使节点看起来像您喜欢的那样。看看下面的自定义内容类型主题化示例:

如果您使用视图显示字段,并且启用了PHP代码,那么您应该能够通过选择“重写此字段的输出”并使用正则表达式返回需要突出显示的字符串,将@[name]放入span或div中

找到正则表达式应该不难,它可能是以下几点:

Find the character "@" followed by any number of characters 查找后跟任意数量字符的字符“@” 很抱歉,我没有经常使用正则表达式来提供确切的代码,但您不需要花很长时间就能找到


然后,问题只是返回字符串并添加一些标记。

如果我在这里的词条有错误的结尾,我表示歉意,但我不想为我的内容类型设置主题。我只想在提交表单时检测特定子字符串的存在,以便以不同的方式呈现该字符串。例如,如果有人要在文本字段中键入“foo”,则当节点显示时(单独显示或在视图中显示),单词“foo”将具有蓝色背景和蓝色文本。我想这有点像语法突出显示。好吧,在为内容类型设置主题时,可以在字段周围添加
,并根据字段的值为其指定id/类。然后使用简单的CSS对输出进行主题化。如果我仍然没有理解你的意思,我很抱歉。我不这么认为——我想说的是,如果你有一个节点,并且你在其中一个字段中放了一些文本,比如:“我今天要看@laxman 13”,我需要某种方式来设计“@laxman 13”,但需要特别注意的是“@laxman 13”可能是“@persepolis”或“@foo”. 唯一不变的是后面有一个@符号和一个字符串。啊,我明白了,谢谢你澄清这一点!你看过语法突出显示模块吗?您可以设置自己的规则(不确定,尚未签出)。另一种途径可以是预处理函数中使用的正则表达式