需要向选择列表中添加HTML字符


9

我有一个使用FAPI的表单,该表单具有一个选择的货币值列表作为其输入之一。我需要能够添加HTML字符,例如€ $pound; ¥

问题在于Drupal正在过滤输入,并且不显示所需的符号,而是显示如上所示的实际html代码。

有没有办法让Drupal不过滤我的列表?

Answers:


4

您可以并且应该将符号的UTF-8字符放入列表中。当某些符号在活动代码页中没有表示形式时,HTML实体就是过去的遗物。因此,只需在列表中使用€,£和¥。

Drupal是从后到前的UTF-8:请使用它。


谢谢您的简单答复,很遗憾,这样做不那么简单。仅插入UTF-8字符可能不起作用。我必须:检查php.ini以确保我的默认字符集为ut8-f,确保我的标头在<meta http-equiv =“ Content-Type” content =“ text / html; charset = utf-8” />中他们和最重要的..确保您的页面另存为utf-8。在我的情况下,我必须右键单击Eclipse中的页面以打开属性对话框。从这里开始,我必须确保他的文本文件编码属性设置为UTF-8。我必须为每个页面执行此操作,例如。page.tpl和任何包含的内容
Kevin Bradshaw 2012年

在Drupal中进行开发时,所有这些都应该是标准的。内容类型的元标记由Drupal添加(至少在D6中,也许在D7中由主题决定,但即使如此,每个主题都将utf-8输出为字符集)。而且Eclipse是的,Eclipse附带默认设置为utf-8以外的其他东西是很可惜的。不要忘记将工作区标准设置为utf-8,以防止将来的项目出现相同的问题。
fietserwin

1

作为解决方案,您可以对表单元素使用#after_build属性。

假设您有$ options变量和select选项

$form['myselect']['options'] = $options;
$form['myselect']['#after_build'][] = 'custom_select_formatter';

然后您必须定义格式器功能,例如

function  custom_select_formatter($form_element, $form_state){

$options = $form_element['#options'] //you can use your option values
}

在这里,即使您#主题添加#前缀#后缀,您也可以重新定义选择元素

另一个可能的解决方案是,在此示例中,l()函数与图像创建链接时使用html选项,也许select元素也使用了它。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.