1c3437056SNickeau<?php 2c3437056SNickeau 3c3437056SNickeau 4c3437056SNickeaunamespace ComboStrap; 5c3437056SNickeau 6c3437056SNickeau 7c3437056SNickeauclass Html 8c3437056SNickeau{ 9c3437056SNickeau 10c3437056SNickeau 11c3437056SNickeau /** 12c3437056SNickeau * @param string $name 13c3437056SNickeau * @throws ExceptionComboRuntime 14c3437056SNickeau * Garbage In / Garbage Out design 15c3437056SNickeau */ 16c3437056SNickeau public static function validNameGuard(string $name) 17c3437056SNickeau { 18c3437056SNickeau /** 19c3437056SNickeau * If the name is not in lowercase, 20c3437056SNickeau * the shorthand css selector does not work 21c3437056SNickeau */ 22c3437056SNickeau $validName = strtolower($name); 23c3437056SNickeau if ($validName != $name) { 24c3437056SNickeau throw new ExceptionComboRuntime("The name ($name) is not a valid name"); 25c3437056SNickeau } 26c3437056SNickeau } 27*4cadd4f8SNickeau 28*4cadd4f8SNickeau /** 29*4cadd4f8SNickeau * Transform a text into a valid HTML id 30*4cadd4f8SNickeau * @param $string 31*4cadd4f8SNickeau * @return string 32*4cadd4f8SNickeau */ 33*4cadd4f8SNickeau public static function toHtmlId($string): string 34*4cadd4f8SNickeau { 35*4cadd4f8SNickeau /** 36*4cadd4f8SNickeau * sectionId calls cleanID 37*4cadd4f8SNickeau * cleanID delete all things before a ':' 38*4cadd4f8SNickeau * we do then the replace before to not 39*4cadd4f8SNickeau * lost a minus '-' separator 40*4cadd4f8SNickeau */ 41*4cadd4f8SNickeau $string = str_replace(array(':', '.'), '', $string); 42*4cadd4f8SNickeau return sectionID($string, $check); 43*4cadd4f8SNickeau } 44c3437056SNickeau} 45