PHP reg将所有[hexa]替换为字体颜色字符串?
问题描述:
我有一个字符串,:$s="[#efefef]H[#fafafa]I!";
PHP reg将所有[hexa]替换为字体颜色字符串?
我怎样才能做到这就像一个新的字符串:
$s2="<font color='#efefef'>H</font><font color='#fafafa'>I</font>!";
感谢
答
<font>
对象已过时。改为使用<span style="color: #efefef;">
。
preg_replace("/\\[#([0-9a-f]+)\\]([^[]+)/i", "<span style=\"color: #\\1;\">\\2</span>", $s);
答
为您例如数据这应该很好地工作:
$s2 = preg_replace('~\[(#[0-9a-f]{6})\]([A-Z])~',
"<font color='$1'>$2</font>", $s);
您可能需要为您的需要更改[A-Z]
占位符。这只能匹配一个大写字母,如你的例子。
+0
工作太:(... – lacas 2011-03-23 17:24:37
+0
@lacas,对不起,尝试更新的代码;!) – Czechnology 2011-03-23 17:27:58
我得到这个:[#EFEFEF] H [#fafafa]我! ....不工作 – lacas 2011-03-23 17:24:15
现在试试吧,对不起,初学者我的错误:) – orlp 2011-03-23 17:28:26
真棒匿名downvote再次。爱他们。 – orlp 2011-03-23 17:35:57