Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F4111572
HtmlClassUtils.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
1 KB
Referenced Files
None
Subscribers
None
HtmlClassUtils.php
View Options
<?php
namespace
MobileFrontend\Transforms\Utils
;
/**
* Simple utility for working with html classes as with set
*/
class
HtmlClassUtils
{
/**
* Parse html class string into set (array of string=>bool) where key is class name
* and values is always true
*
* @param string $classAttr raw `class` attribute's string retrieved from html
*
* @return array
*/
public
static
function
parseClassString
(
string
$classAttr
):
array
{
$classes
=
preg_split
(
'/
\s
+/'
,
$classAttr
,
-
1
,
PREG_SPLIT_NO_EMPTY
);
return
array_fill_keys
(
$classes
,
true
);
}
/**
* Forms raw html `class` string from set of classes. Set is a key-value array where
* key is class name and value is boolean that determines wheather this class should be
* included to string or not.
*
*
* @param array $classes set of classes that should be formed into string
*
* @return string
*/
public
static
function
formClassString
(
array
$classes
):
string
{
$enabled
=
array_filter
(
$classes
,
static
function
(
$enabled
)
{
return
$enabled
;
}
);
return
implode
(
' '
,
array_keys
(
$enabled
)
);
}
/**
* Filters set of classes by list of allowed classes
*
* @param array $classes key-value array of html classes
* @param string[] $allowedClasses list of allowed classes
* @param string[] $additional list of additional styles should be added in front of list
*
* @return array
*/
public
static
function
filterAllowedClasses
(
array
$classes
,
array
$allowedClasses
,
array
$additional
):
array
{
return
array_fill_keys
(
$additional
,
true
)
+
array_intersect_key
(
$classes
,
array_fill_keys
(
$allowedClasses
,
true
)
);
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Tue, Aug 18, 22:25 (7 h, 59 m ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
b8/08/aec95900893466ab62c4b256432d
Default Alt Text
HtmlClassUtils.php (1 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment