用于搜索十六进制颜色代码的正则表达式

塞西洛马尔

因此,我试图减少一些代码,并使用PHP函数preg_replace()做到这一点。我正在尝试压缩十六进制颜色。例如:

#FF0000 => #F00

在互联网上找到了一些代码,到目前为止,这就是我所拥有的:

$hex_char = '[a-f0-9]';
$html = preg_replace("/(?<=^#)($hex_char)\\1($hex_char)\\2($hex_char)\\3\z/i", '\1\2\3', $html);

它适用于像这样的字符串:

$html = "#FF0000";

好的,所以真正的问题是我需要代码来搜索诸如CSS等代码块中的所有十六进制颜色。这将是这样的:

<?php

$html = '
.this{
    color: #FF0000;
    background-color: #CCCCCC;
}
';

$hex_char = '[a-f0-9]';
$html = preg_replace("/(?<=^#)($hex_char)\\1($hex_char)\\2($hex_char)\\3\z/i", '\1\2\3', $html);
echo $html;

?>

我怎样才能做到这一点?谢谢!

阿维纳什·拉吉(Avinash Raj)

从您的正则表达式中删除字符串锚的后面和结尾。

<?php
$html = <<<EOT
.this{
    color: #FF0000;
    background-color: #CCCCCC;
}
EOT;
$hex_char = '[a-f0-9A-F]';
$html = preg_replace("~#($hex_char)\\1($hex_char)\\2($hex_char)\\3~", '#$1$2$3', $html);
echo $html;
?>

输出:

.this{
    color: #F00;
    background-color: #CCC;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

用于bbcode中的十六进制颜色代码的正则表达式?

来自分类Dev

正则表达式颜色的十六进制模式

来自分类Dev

如何使用循环正则表达式和数组验证十六进制颜色?

来自分类Dev

十六进制正则表达式

来自分类Dev

正则表达式十六进制,带例外

来自分类Dev

只允许十六进制正则表达式

来自分类Dev

Python正则表达式搜索十六进制字节

来自分类Dev

正则表达式,用于匹配十六进制表示法的灰色

来自分类Dev

正则表达式,用于字符串的十六进制组合

来自分类Dev

用于匹配十六进制数字的正则表达式?

来自分类Dev

匹配#tags但不匹配十六进制代码的正则表达式

来自分类Dev

正则表达式删除剩余的 ascii 十六进制代码

来自分类Dev

十六进制颜色代码多个

来自分类Dev

Perl:正则表达式,将十进制更改为十六进制

来自分类Dev

十六进制和八进制ASCII正则表达式

来自分类Dev

javascript:搜索十六进制颜色代码并将其替换为其他颜色代码

来自分类Dev

正则表达式匹配8或12或32十六进制数

来自分类Dev

匹配十六进制表示的字节正则表达式

来自分类Dev

C#正则表达式异常-十六进制数字不足

来自分类Dev

Vim正则表达式-替换中的十六进制字符?

来自分类Dev

正则表达式问题删除十六进制LF

来自分类Dev

正则表达式以匹配十六进制和复杂字符之间的数字

来自分类Dev

C#正则表达式异常-十六进制数字不足

来自分类Dev

正则表达式:非法的十六进制转义序列

来自分类Dev

正则表达式:如何以十六进制指定覆盖Unicode符号集合的范围

来自分类Dev

Vim正则表达式-替换中的十六进制字符?

来自分类Dev

正则表达式文件,名称和数字/十六进制交替显示

来自分类Dev

检查数字是 3 位还是 6 位十六进制的正则表达式

来自分类Dev

带有十六进制部分的复杂正则表达式

Related 相关文章

  1. 1

    用于bbcode中的十六进制颜色代码的正则表达式?

  2. 2

    正则表达式颜色的十六进制模式

  3. 3

    如何使用循环正则表达式和数组验证十六进制颜色?

  4. 4

    十六进制正则表达式

  5. 5

    正则表达式十六进制,带例外

  6. 6

    只允许十六进制正则表达式

  7. 7

    Python正则表达式搜索十六进制字节

  8. 8

    正则表达式,用于匹配十六进制表示法的灰色

  9. 9

    正则表达式,用于字符串的十六进制组合

  10. 10

    用于匹配十六进制数字的正则表达式?

  11. 11

    匹配#tags但不匹配十六进制代码的正则表达式

  12. 12

    正则表达式删除剩余的 ascii 十六进制代码

  13. 13

    十六进制颜色代码多个

  14. 14

    Perl:正则表达式,将十进制更改为十六进制

  15. 15

    十六进制和八进制ASCII正则表达式

  16. 16

    javascript:搜索十六进制颜色代码并将其替换为其他颜色代码

  17. 17

    正则表达式匹配8或12或32十六进制数

  18. 18

    匹配十六进制表示的字节正则表达式

  19. 19

    C#正则表达式异常-十六进制数字不足

  20. 20

    Vim正则表达式-替换中的十六进制字符?

  21. 21

    正则表达式问题删除十六进制LF

  22. 22

    正则表达式以匹配十六进制和复杂字符之间的数字

  23. 23

    C#正则表达式异常-十六进制数字不足

  24. 24

    正则表达式:非法的十六进制转义序列

  25. 25

    正则表达式:如何以十六进制指定覆盖Unicode符号集合的范围

  26. 26

    Vim正则表达式-替换中的十六进制字符?

  27. 27

    正则表达式文件,名称和数字/十六进制交替显示

  28. 28

    检查数字是 3 位还是 6 位十六进制的正则表达式

  29. 29

    带有十六进制部分的复杂正则表达式

热门标签

归档