I think I would try the following:
Edit this function (classes/seo.url.php):
function strip($string){
if ( is_array($this->attributes['SEO_CHAR_CONVERT_SET']) ) $string = strtr($string, $this->attributes['SEO_CHAR_CONVERT_SET']);
$pattern = $this->attributes['SEO_REMOVE_ALL_SPEC_CHARS'] == 'true'
? "([^[:alnum:]])+"
: "([[:punct:]])+";
$anchor = ereg_replace($pattern, '', strtolower($string));
$pattern = "([[:space:]]|[[:blank:]])+";
$anchor = ereg_replace($pattern, '-', $anchor);
return $this->short_name($anchor); // return the short filtered name
} # end function
And add: $string = str_replace('-', ' ', $string);
So it would become:
function strip($string){
if ( is_array($this->attributes['SEO_CHAR_CONVERT_SET']) ) $string = strtr($string, $this->attributes['SEO_CHAR_CONVERT_SET']);
$pattern = $this->attributes['SEO_REMOVE_ALL_SPEC_CHARS'] == 'true'
? "([^[:alnum:]])+"
: "([[:punct:]])+";
$string = str_replace('-', ' ', $string);
$anchor = ereg_replace($pattern, '', strtolower($string));
$pattern = "([[:space:]]|[[:blank:]])+";
$anchor = ereg_replace($pattern, '-', $anchor);
return $this->short_name($anchor); // return the short filtered name
} # end function
I don't have an install to test, so I may be wrong. But the idea is to change all "-"s to spaces, just before they are replaced by empty strings.
(and 3 lines below the added line all spaces are replaced by "-"s )