function views_break_phrase_string
Same name in other branches
- 7.x-3.x includes/handlers.inc \views_break_phrase_string()
2 calls to views_break_phrase_string()
- views_handler_argument_string::query in handlers/
views_handler_argument_string.inc - Build the query based upon the formula
- views_handler_argument_string::title in handlers/
views_handler_argument_string.inc - Get the title this argument will assign the view, given the argument.
File
-
includes/
handlers.inc, line 1035
Code
function views_break_phrase_string($str, &$handler) {
if (!$handler) {
$handler = new stdClass();
}
// Set up defaults:
if (!isset($handler->value)) {
$handler->value = array();
}
if (!isset($handler->operator)) {
$handler->operator = 'or';
}
if ($str == '') {
return $handler;
}
if (preg_match('/^(\\w+[+ ])+\\w+$/', $str)) {
// The '+' character in a query string may be parsed as ' '.
$handler->operator = 'or';
$handler->value = preg_split('/[+ ]/', $str);
}
else {
if (preg_match('/^((\\w|\\s)+,)*(\\w|\\s)+$/', $str)) {
$handler->operator = 'and';
$handler->value = explode(',', $str);
}
}
// Keep an 'error' value if invalid strings were given.
if (!empty($str) && (empty($handler->value) || !is_array($handler->value))) {
$handler->value = array(
-1,
);
return $handler;
}
// Doubly ensure that all values are strings only.
foreach ($handler->value as $id => $value) {
$handler->value[$id] = (string) $value;
}
return $handler;
}