[
0 => 'contact-form-7',
1 => 'id="6274"',
2 => 'title="Какой то текст с пробелами"',
]
$str = '[contact-form-7 id="6274" title="Какой то текст с пробелами"]';
$shortcode = preg_split ("/\b(\s|\")/", $str);
[
0 => "[contact-form-7"
1 => "id="6274"
2 => " title="Какой то текст с пробелами"
3 => "]"
]
<?php
$str = '[contact-form-7 id="6274" title="Какой то текст с пробелами"]';
preg_match("/\[(\S+) (\S+) (.+)\]/im", $str, $matches);
var_export($matches);
<?php
$str = '[contact-form-7 id="6274" title="Какой то текст с пробелами"]';
$str = preg_match_all("/([a-z]*-[a-z]*-[0-9])|([a-z]*=\"[0-9(\W)]*\")/",$str,$matches,PREG_PATTERN_ORDER);
print_r($matches[0]);
// Array ( [0] => contact-form-7 [1] => id="6274" [2] => title="Какой то текст с пробелами" )
// если на выходе нужны одинарные кавычки, вместо двойных
for($i=0;$i<=count($matches[0])-1;$i++){
$matches[0][$i] = str_replace('"','\'',$matches[0][$i]);
}
print_r($matches[0]);
// Array ( [0] => contact-form-7 [1] => id='6274' [2] => title='Какой то текст с пробелами' )
?>