function _xbbcode_parse_args in Extensible BBCode 6
Same name and namespace in other branches
- 5 xbbcode-misc.php \_xbbcode_parse_args()
1 call to _xbbcode_parse_args()
- XBBCodeFilter::generate_tag in ./xbbcode.filter.inc
File
- ./xbbcode.inc, line 85
Code
function _xbbcode_parse_args($args) {
$args = str_replace(array(
"\\\"",
'\\\'',
), array(
"\"",
'\'',
), $args);
if (!$args) {
return;
}
if ($args[0] == '=') {
return substr($args, 1);
}
else {
$args = substr($args, 1);
}
$otc = _xbbcode_one_time_code($args);
$args = preg_replace('/"([^"]*)"|\'([^\']*)\'/e', 'str_replace(\' \',"[space-' . $otc . ']","$1$2")', $args);
$args = split(" +", $args);
foreach ($args as $assignment) {
if (!preg_match('/^([a-z]+)=(.*)$/', $assignment, $match)) {
continue;
}
$parsed[$match[1]] = str_replace("[space-{$otc}]", ' ', $match[2]);
}
return $parsed;
}