public static function Html::getId in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/lib/Drupal/Component/Utility/Html.php \Drupal\Component\Utility\Html::getId()
Prepares a string for use as a valid HTML ID.
Only use this function when you want to intentionally skip the uniqueness guarantee of self::getUniqueId().
Parameters
string $id: The ID to clean.
Return value
string The cleaned ID.
See also
5 calls to Html::getId()
- FormBuilder::doBuildForm in core/
lib/ Drupal/ Core/ Form/ FormBuilder.php - Builds and processes all elements in the structured form array.
- FormBuilder::prepareForm in core/
lib/ Drupal/ Core/ Form/ FormBuilder.php - Prepares a structured form array.
- Html::getUniqueId in core/
lib/ Drupal/ Component/ Utility/ Html.php - Prepares a string for use as a valid HTML ID and guarantees uniqueness.
- HtmlTest::testHtmlGetId in core/
tests/ Drupal/ Tests/ Component/ Utility/ HtmlTest.php - Tests the Html::getUniqueId() method.
- Toolbar::preRenderToolbar in core/
modules/ toolbar/ src/ Element/ Toolbar.php - Builds the Toolbar as a structured array ready for drupal_render().
File
- core/
lib/ Drupal/ Component/ Utility/ Html.php, line 201 - Contains \Drupal\Component\Utility\Html.
Class
- Html
- Provides DOMDocument helpers for parsing and serializing HTML strings.
Namespace
Drupal\Component\UtilityCode
public static function getId($id) {
$id = str_replace([
' ',
'_',
'[',
']',
], [
'-',
'-',
'-',
'',
], Unicode::strtolower($id));
// As defined in http://www.w3.org/TR/html4/types.html#type-name, HTML IDs can
// only contain letters, digits ([0-9]), hyphens ("-"), underscores ("_"),
// colons (":"), and periods ("."). We strip out any character not in that
// list. Note that the CSS spec doesn't allow colons or periods in identifiers
// (http://www.w3.org/TR/CSS21/syndata.html#characters), so we strip those two
// characters as well.
$id = preg_replace('/[^A-Za-z0-9\\-_]/', '', $id);
// Removing multiple consecutive hyphens.
$id = preg_replace('/\\-+/', '-', $id);
return $id;
}