Php CSS&;Regex,切换填充或边距属性的值
我有CSS代码,我想找到填充或空白属性 (其中有4个值)并用右值切换左值:Php CSS&;Regex,切换填充或边距属性的值,php,css,regex,margin,padding,Php,Css,Regex,Margin,Padding,我有CSS代码,我想找到填充或空白属性 (其中有4个值)并用右值切换左值: e、 g.填充:1px2p3px4px -像这样- 填充:1px 4px 3px 2px 如何使用regex和PHP实现这一点?:-) 试试这个: preg_replace( '/padding:\s*?(\d*px)\s*(\d*px)\s*(\d*px)\s*(\d*px)\s*?;/i', 'padding: $1 $4 $3 $2;', $css ); 解释 \s匹配空格 \d匹配一个数
e、 g.
填充:1px2p3px4px代码>
-像这样-
填充:1px 4px 3px 2px代码>
如何使用regex和PHP实现这一点?:-) 试试这个:
preg_replace(
'/padding:\s*?(\d*px)\s*(\d*px)\s*(\d*px)\s*(\d*px)\s*?;/i',
'padding: $1 $4 $3 $2;',
$css
);
解释
\s
匹配空格
\d
匹配一个数字
\d*px
将匹配任何后跟“px”的数字您希望在PHP代码或Javascript中发生这种情况吗?我看不出你必须在php代码中做这样的更改。@Svetlio我想让php代码在CSS文件中搜索,并进行切换和替换,然后用更改重写CSS。属性之间可能有多个空格。否决权之争?规则后面可能没有分号。这匹配无效的内容,如padding:1px2px3px4px代码>@Eric将其更改为'/padding:\s*?(\d*p?x?)\s*(\d*p?x?)\s*(\d*p?x?)\s*(\d*p?x?)\s*?/i'
,以便匹配边距:0 5px 0 10px