我有一个像这样的ldap搜索输出:
CN = ABC0000001,OU =组,DC =域,DC =净 CN = ABC4257635,OU =组,DC =域,DC =净 CN = ABC1231231,OU =组,DC =域,DC =净 CN = XYZ0345432,OU =组,DC =域,DC =净 CN = XYZ0546322,OU =组,DC =域,DC =净 CN = ABC5465747,OU =组,DC =域,DC =净
我想基于^ ABC模式仅打印CommonName部分,因此我得到以下结果:
ABC0000001
ABC4257635
ABC1231231
ABC5465747
看来preg_match可能是实现这一目标的工具,但是我试图获得" CN = ABC"之间的子串。和第一个","具有以下行的字符没有成功(它返回NULL):
preg_match('CN=(([ABC]+)(\d+)),',$string,$m); echo $m[1];
其中$string
应该是我的ldap输出中的每一行。
如何获得理想的结果?
答案 0 :(得分:2)
试试这个:
if( preg_match('/^CN=(ABC\d+)/', "CN=ABC0000001,OU=group,DC=domain,DC=net", $m ) )
{
echo $m[1];
}