Php drupal l()函数外部链接不起作用

Php drupal l()函数外部链接不起作用,php,drupal-7,Php,Drupal 7,我需要一个关于l函数的帮助。我想创建用户在管理表单中设置的url的锚。它必须是一个外部链接。我已经将外部选项设置为true,但锚的行为仍然类似于内部,结果是mydrupappage.com/www.facebook.com而不是www.facebook.com 有人能帮我吗? 我是drupal的初学者,所以可能是我在代码中做错了什么: $output .= l(t('Facebook'),$variables['facebook_link'], array('attributes'=>a

我需要一个关于l函数的帮助。我想创建用户在管理表单中设置的url的锚。它必须是一个外部链接。我已经将外部选项设置为true,但锚的行为仍然类似于内部,结果是mydrupappage.com/www.facebook.com而不是www.facebook.com

有人能帮我吗? 我是drupal的初学者,所以可能是我在代码中做错了什么:

 $output .= l(t('Facebook'),$variables['facebook_link'], array('attributes'=>array('external' => TRUE)));

您不需要将属性用作第三个参数的索引

您只需使用数组'external'=>true:

根据评论更新

除了上述对第三个参数的更改外,第二个参数中的url还需要包括协议: http://www.facebook.com 或https://www.facebook.com


如果您没有包含协议,那么我将返回一个与您的网站相关的链接。

我也有同样的问题。Drupal始终输出我的域名/www.facebook.com


您只需要在链接中附加“http://”或其他协议。否则Drupal会认为这是一个内部链接。帮我修好了。现在它显示为“www.facebook.com”。

谢谢,但我已经用过了,它也不起作用。我记得不久前有一个类似的问题,其中一个解决办法是在我的url前面包含http或https协议。如果您无法控制$variables['facebook_link']中的内容,那么可以将其附加到变量:“http://”$变量['facebook_link']
 $output .= l(t('Facebook'),$variables['facebook_link'], array('external' => TRUE));