我有一个字符串,其中包含逗号分隔的值列表.
例如:
$sitelist = 'SC001rug,SC002nw,SC003nrge';
我使用preg_match判断该字符串中是否有网站,然后返回ID后面的字符.
$siteId='SC001';
if ( preg_match( "/$siteId(.+?),/", $sitelist, $matches ) ) {
var_dump( $matches );
} else {
echo "no match";
}
使用此功能,它会正确返回结果:
array(2) { [0]=> string(9) "SC001rug," [1]=> string(3) "rug" }
然而,如果$sitelist不包含尾部逗号,则匹配不会正确发生.
$sitelist = 'SC001rug';
结果"不匹配"
如果我从preg_match命令中删除逗号,它只返回第一个字符.
if ( preg_match( "/$siteId(.+?)/", $sitelist, $matches ) ) {
结果:
array(2) { [0]=> string(6) "SC001r" [1]=> string(1) "r" }
如何正确调整preg_match,以便它在有和没有尾部逗号的情况下匹配.
谢谢