Я пытаюсь добиться следующего, но мне нужно использовать функцию preg_replace_callback () или в основном получить все данные в одном совпадении. Это возможно?
<?php
$pattern = '/([^\s]*?)\s=\s([^,]*?),/';
$string = " Issuer: C = US, O = DigiCert Inc, OU = www.digicert.com, CN = RapidSSL RSA CA 2018";
preg_match_all( $pattern, $string, $matches );
$c = array_combine( $matches[1], $matches[2] );
print_r( $c );
Array
(
[C] => US
[O] => DigiCert Inc
[OU] => www.digicert.com
)
PHP Fiddle: https://www.mycompiler.io/view/5CPWukk
Мне нужно что-то подобное, но с выводом, аналогичным приведенному выше:
<?php
$re = '/([^\s]*?)\s=\s([^,]*?),/';
$str = " Issuer: C = US, O = DigiCert Inc, OU = www.digicert.com, CN = RapidSSL RSA CA 2018";
preg_replace_callback ($re,
function ($matches) {
var_dump($matches);
return null;
},
$str
);