我有这样的字符串:
family="ABeeZee;100regular" decoration="" style="normal" txtalign="txt-left" size="14px" line="22px" padding="0px" bold="" uppercase="" color="""
我只想在family
中获取值/字符串:
ABeeZee;100regular
我知道我需要使用正则表达式,但我仍然不明白如何编写模式...
我尝试了这个没有成功:
$mystring = 'family="ABeeZee;100regular" decoration="" style="normal" txtalign="txt-left" size="14px" line="22px" padding="0px" bold="" uppercase="" color=""" '
$pattern = '/(family)="([\'"])?((?(1).+?|[^\s>]+))(?(1)\1)"/is';
$string = preg_replace($pattern, "", $mystring);
答案 0 :(得分:2)
使用preg_match()
代替preg_replace()
来获取值。
您只有一个模式,因此您不需要在此处使用条件正则表达式。
preg_match('/family="([^"]+)"/', $mystring, $match);
echo $match[1]; //=> "ABeeZee;100regular"