compare strings regardless of accents

This commit is contained in:
quenousimporte 2024-10-02 17:36:51 +02:00
parent 630ac914b0
commit dc9f01ea48
1 changed files with 8 additions and 3 deletions

View File

@ -21,6 +21,11 @@
$_SESSION['index'] = array_map(fn($value): string => str_replace('.md', '', $value), $files);
}
function cleanstring($string)
{
return iconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', strtolower($string));
}
function downloadnote($path)
{
header('Content-disposition: attachment; filename=' . basename($path));
@ -259,7 +264,7 @@
$content = file_get_contents($path . '.md');
if (
// param does not match content or title
(isset($_GET['search']) && !str_contains(strtolower($content), strtolower($param)) && !str_contains(strtolower($name), strtolower($param))) ||
(isset($_GET['search']) && !str_contains(cleanstring($content), cleanstring($param)) && !str_contains(cleanstring($name), cleanstring($param))) ||
// param does not match tags
(isset($_GET['tags']) && !preg_match('/tags:.*' . $param . '/i', $content))
)
@ -289,9 +294,9 @@
echo '</span>';
}
}
else if (isset($_GET['search']) && str_contains(strtolower($content), strtolower($param)))
else if (isset($_GET['search']) && str_contains(cleanstring($content), cleanstring($param)))
{
$pos = strpos(strtolower($content), strtolower($param));
$pos = strpos(cleanstring($content), cleanstring($param));
echo '<span class="grey"> ' . $param . substr($content, $pos + strlen($param), 42) . '</span>';
}
echo'</div>';