9) { $phone = trim(str_replace('-', '', $phone)); $phone = trim(str_replace(' ', '', $phone)); } return $phone; } /** * @param $streetStr * @return array */ public static function split_street($streetStr) { // $re = '/(([0-9]\s)*)([\węąóśłżźćńŚŁŹŻ]*)\s(([0-9])([[:punct:])*([0-9a-zA-Z]*))/m'; $re = '/^([\w\s\W]+[\w\W]?)\s([\d\-\\\\\/\w]*)?/m'; preg_match_all($re, $streetStr, $matches, PREG_SET_ORDER, 0); $match = isset($matches[0]) ? $matches[0] : array(); if (!empty($match)) { $street = (!empty($match[1]) ? $match[1] : '') . (isset($match[3]) ? $match[3] : ''); } else { $street = ''; } $numberAll = isset($match[2]) ? $match[2] : ''; $nums = isset($match[4]) ? explode('/', $match[4]) : ''; $number = isset($nums[0]) ? $nums[0] : ''; $numberAddition = isset($nums[1]) ? $nums[0] : ''; return array('street' => $street, 'numberAll' => $numberAll, 'number' => $number, 'numberAddition' => $numberAddition); } public static function testRegexp() { $re = '/(([0-9]\s)*)([\w]*)\s(([0-9]\w)([[:punct:])*([0-9a-zA-Z]*))/m'; $str = 'grabowska 33a/11v'; preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0); // Print the entire match result var_dump($matches); exit(); } }