Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Modified Inflector::slug to not drop multibyte characters. Fixes #6104.

  • Loading branch information...
commit 659c1a65bc63482812d716c96988c58009672997 1 parent 986af28
@jperras jperras authored
View
3  cake/libs/inflector.php
@@ -447,10 +447,11 @@ function slug($string, $replacement = '_', $map = array()) {
'/Ü/' => 'Ue',
'/Ö/' => 'Oe',
'/ß/' => 'ss',
- '/[^\w\s]/' => ' ',
+ '/[^\w\s\p{Ll}\p{Lm}\p{Lo}\p{Lt}\p{Lu}\p{Nd}]/mu' => ' ',
'/\\s+/' => $replacement,
sprintf('/^[%s]+|[%s]+$/', $quotedReplacement, $quotedReplacement) => '',
);
+
$map = array_merge($default, $map);
return preg_replace(array_keys($map), array_values($map), $string);
}
View
4 cake/tests/cases/libs/inflector.test.php
@@ -200,6 +200,10 @@ function testInflectorSlug() {
$result = Inflector::slug('#this melts your face1#2#3', '-');
$expected = 'this-melts-your-face1-2-3';
$this->assertEqual($result, $expected);
+
+ $result = Inflector::slug('controller/action/りんご/1');
+ $expected = 'controller_action_りんご_1';
+ $this->assertEqual($result, $expected);
}
/**
* testInflectorSlugWithMap method
Please sign in to comment.
Something went wrong with that request. Please try again.