[font=microsoft yahei onclick=alert('b')]中华人民共和国[/font]
[font=abc onclick=alert('b')]中华人民共和国[/font]
[font=microsoft yahei]中华人民共和国[/font]
[font=abc onclick=alert('b')]中华人民共和国[/font]
[font=abc]中华人民共和国[/font]
我想这样取,我只取出font=后面的字符,但不包括onclick(不一定是onclick,有可能是onfocus之类的)后面的字符还有中华人民共和国这几个字。
意思就是说,只取出字体名字,字体名字可以包含引号,但是字体后面如果有字符,都不取。
求正则表达式的写法。
我这样写,会连onclick以及后面的字符取到。
/\[font=(.*?)\](.*?)\[\/font\]/i
回复讨论(解决方案) /\[font=([^\]+?).+?\](.*?)\[\/font\]/i
试试
/\[font=([^\]+?).+?\](.*?)\[\/font\]/i
试试
echo preg_replace('/\[font=([^\]+?).+?\](.*?)\[\/font\]/i', '$1@@@@$2', '[font=microsoft yahei]中华人民共和国[/font]');
我试了一下,不行呢。 echo preg_replace('/\[font=([^\]+?).*?\](.*?)\[\/font\]/i', '$1@@@@$2', '[font=microsoft yahei]中华人民共和国[/font]');
echo preg_replace('/\[font=([^\]+?).*?\](.*?)\[\/font\]/i', '$1@@@@$2', '[font=microsoft yahei]中华人民共和国[/font]');
可以了。谢谢。
请问:[^\] 这串字符代表什么呢? 另外,还有一种情况不能匹配就是
[font=microsoft]中华人民共和国[/font]
这一种,就是字体两边没有引号的。我自己试了一下没成功。麻烦再给看一下。谢谢。
[^\]
[] 里面的是一个字符集合
^ 是除了什么什么之外
意思就是除了双引号之外的其他任何字符都匹配,\是转义,其实也可以不要
---------------------------------------------------------------------------------
[font=microsoft]中华人民共和国[/font]
'/\[font=*([^\]+)*.*?\](.*?)\[\/font\]/i'
牛掰
多谢各位的帮助。结帖
