Issue #987472 by damien_vancouver, OnkelTem: Fixed search.module doesn't consistently support multibyte characters.
parent
ccbc40d071
commit
87a1fbc1f6
|
@ -1188,7 +1188,7 @@ function search_excerpt($keys, $text) {
|
|||
if (($s = strrpos($end, ' ')) !== FALSE) {
|
||||
// Account for the added spaces.
|
||||
$q = max($q - 1, 0);
|
||||
$s = min($s, drupal_strlen($end) - 1);
|
||||
$s = min($s, strlen($end) - 1);
|
||||
$ranges[$q] = $p + $s;
|
||||
$length += $p + $s - $q;
|
||||
$included[$key] = $p + 1;
|
||||
|
|
|
@ -1599,6 +1599,12 @@ class SearchExcerptTestCase extends DrupalUnitTestCase {
|
|||
$result = preg_replace('| +|', ' ', search_excerpt('nothing', $entities));
|
||||
$this->assertFalse(strpos($result, '&'), 'Entities are not present in excerpt');
|
||||
$this->assertTrue(strpos($result, 'í') > 0, 'Entities are converted in excerpt');
|
||||
|
||||
// The node body that will produce this rendered $text is:
|
||||
// 123456789 HTMLTest +123456789+‘ +‘ +‘ +‘ +12345678 +‘ +‘ +‘ ‘
|
||||
$text = "<div class=\"field field-name-body field-type-text-with-summary field-label-hidden\"><div class=\"field-items\"><div class=\"field-item even\" property=\"content:encoded\"><p>123456789 HTMLTest +123456789+‘ +‘ +‘ +‘ +12345678 +‘ +‘ +‘ ‘</p>\n</div></div></div> ";
|
||||
$result = search_excerpt('HTMLTest', $text);
|
||||
$this->assertFalse(empty($result), 'Rendered Multi-byte HTML encodings are not corrupted in search excerpts');
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue