我想知道是否有更简单,更好,更有效的方式从字符串中提取数据,而不是将其分割成块并将这些块存储在变量中。例如,我有一行包含一些/分隔的字段(注意:并非所有字符都是/分隔的)。PHP比分割字符串更简单
/ST = XX/L = XX/O = XX/CN = Cliento/
我只需要获取CN字段的值。对于这个我现在做的事情:
preg_match('/\/CN=[a-z_\-0-9].*\//i', $line, $client3);
$client2 = split('=', $client3[0]);
$client1 = split('/', $client2[1]);
print 'Client: '. $client1[0]."\n";
但我敢肯定有一个更好的解决方案。
http://php.net/manual/en/function.ldap-explode-dn.php – 2014-09-02 10:36:24
'$ values = array(); parse_str(str_replace('/','&',$ line),$ values); var_dump($ values);' – 2014-09-02 10:39:00
这不是特定的ldap格式,而是一个日志文件,该行还包含带有逗号和其他文本的日期。只是其中一部分有几个字段与/ -s,甚至从我只需要一个CN。 – munin24 2014-09-02 10:42:47