我想知道是否有更簡單,更好,更有效的方式從字符串中提取數據,而不是將其分割成塊並將這些塊存儲在變量中。例如,我有一行包含一些/分隔的字段(注意:並非所有字符都是/分隔的)。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