It's a bit complicated. I would like to write a regexp to add border:0;display:block
if the $subject
doesn't contain, or if $subject
's border doesn't equal 0 nor display:block;
for instance, if the $subject
is:
Case 1:
color:white
after preg_replace
if will return
color:white;border:0;display:block
Case 2:
color:white;border:1px;
after preg_replace if will return
color:white;border:0;display:block
Case 3:
color:white;display:inline
after preg_replace
if will return
color:white;display:block;border:0;
Case 4:
{empty}
after preg_replace
if will return
border:0;display:block;
How about removing border
, display
attribute, then append attribute you want?
function no_border($css)
{
$css = preg_replace('/;?\s*(border|display)\s*:[^;]+;?/', '', $css);
return ltrim(rtrim($css, ';') . ';border:0;display:block;', ';');
}
no_border('color:white'); // "color:white;border:0;display:block;"
no_border('color:white;border:1px;'); // "color:white;border:0;display:block;"
no_border('color:white;display:inline'); // "color:white;border:0;display:block;"
no_border(''); // "border:0;display:block;"