form_clean_id
includes/form.inc, строка 2261
- Версии
- 5
form_clean_id($id = NULL)
- 6
form_clean_id($id = NULL, $flush = FALSE)
Prepare an HTML ID attribute string for a form item.
Remove invalid characters and guarantee uniqueness.
Параметры
$id
The ID to clean.
$flush
If set to TRUE
, the function will flush and reset the static array
which is built to test the uniqueness of element IDs. This is only
used if a form has completed the validation process. This parameter
should never be set to TRUE
if this function is being called to
assign an ID to the #ID element.
Возвращаемое значение
The cleaned ID.
Связанные темы
Код
<?php
function form_clean_id($id = NULL, $flush = FALSE) {
static $seen_ids = array();
if ($flush) {
$seen_ids = array();
return;
}
$id = str_replace(array('][', '_', ' '), '-', $id);
// Ensure IDs are unique. The first occurrence is held but left alone.
// Subsequent occurrences get a number appended to them. This incrementing
// will almost certainly break code that relies on explicit HTML IDs in
// forms that appear more than once on the page, but the alternative is
// outputting duplicate IDs, which would break JS code and XHTML
// validity anyways. For now, it's an acceptable stopgap solution.
if (isset($seen_ids[$id])) {
$id = $id .'-'. $seen_ids[$id]++;
}
else {
$seen_ids[$id] = 1;
}
return $id;
}
?>
Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии