Same name and namespace in other branches
  1. 4.7.x includes/common.inc \l()
  2. 5.x includes/common.inc \l()
  3. 6.x includes/common.inc \l()
  4. 7.x includes/common.inc \l()

Format an internal Drupal link.

This function correctly handles aliased paths, and allows themes to highlight links to the current page correctly, so all internal links output by modules should be generated by this function if possible.

Parameters

$text: The text to be enclosed with the anchor tag.

$path: The Drupal path being linked to, such as "admin/node".

$attributes: An associative array of HTML attributes to apply to the anchor tag.

$query: A query string to append to the link.

$fragment: A fragment identifier (named anchor) to append to the link.

$absolute: Whether to force the output to be an absolute link (beginning with http:). Useful for links that will be displayed outside the site, such as in an RSS feed.

$html: Whether the title is HTML, or just plain-text.

Return value

an HTML string containing a link to the given path.

Related topics

81 calls to l()
aggregator_page_categories in modules/aggregator.module
Menu callback; displays all the categories used by the aggregator.
aggregator_page_sources in modules/aggregator.module
Menu callback; displays all the feeds used by the aggregator.
aggregator_view in modules/aggregator.module
archive_calendar in modules/archive.module
Generates a monthly calendar, for display in the archive block.
block_admin_display in modules/block.module
Prepare the main block administration form.

... See full list

File

includes/common.inc, line 1563
Common functions that many Drupal modules will need to reference.

Code

function l($text, $path, $attributes = array(), $query = NULL, $fragment = NULL, $absolute = FALSE, $html = FALSE) {
  if (drupal_get_normal_path($path) == $_GET['q']) {
    if (isset($attributes['class'])) {
      $attributes['class'] .= ' active';
    }
    else {
      $attributes['class'] = 'active';
    }
  }
  return '<a href="' . check_url(url($path, $query, $fragment, $absolute)) . '"' . drupal_attributes($attributes) . '>' . ($html ? $text : check_plain($text)) . '</a>';
}