Интересно, есть ли более простой, лучший и эффективный способ извлечения данных из строки, чем разбиение на куски и хранение этих частей в переменных. Например, у меня есть строка, которая содержит некоторые/разделенные поля (обратите внимание: не все из них разделены).PHP более простой способ, чем разбиение строки
/ST = XX/л = 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 –
'$ values = array(); parse_str (str_replace ('/', '&', $ line), $ values); var_dump ($ values); ' –
Это не особый формат ldap, а файл журнала, строка также содержит дату с запятыми и другим текстом. Только одна часть его имеет пару полей с/-s и даже от тех, кому мне нужен только один, CN. – munin24