我发现了很多与此相关的问题,但这些问题都没有帮助我解决我的具体问题。情况:我想搜索string类似的内容"blablebli",并且能够在文本中找到与该内容的所有可能的重音变体( "blablebli"、"bl\xc3\xa1blebl\xc3\xad"、等...)的匹配项。"bl\xc3\xa2bl\xc3\xa8bli"
我已经采取了相反的解决方法(找到一个我写的没有可能重音的单词)。但我无法找出实现我想要的方法。
\n\n这是我的工作代码。(相关部分,这是 foreach 的一部分,因此我们只看到单个单词搜索):
\n\n$word="something";\n$word = preg_quote(trim($word)); //Just in case\n$word2 = $this->removeAccents($word); // Removed all accents\nif(!empty($word)) {\n $sentence = "/(".$word.")|(".$word2.")/ui"; // Now I\'m checking with and without accents.\n if (preg_match($sentence, $content)){\n echo "found";\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n\n和我的removeAccents()功能(我不确定我是否涵盖了所有可能的口音preg_replace()。到目前为止它正在工作。如果有人检查我是否遗漏了任何东西,我将不胜感激):
function removeAccents($string)\n{\n return preg_replace(\'/[\\`\\~\\\']/\', \'\', iconv(\'UTF-8\', \'ASCII//TRANSLIT\', $string));\n}\nRun Code Online (Sandbox Code Playgroud)\n\n我试图避免什么:
\n\n$word并将所有内容替换a为[a\xc3\xa0\xc3\xa1\xc3\xa3\xc3\xa2\xc3\xa4]其他字母,但我不知道......它看起来有点杀伤力。当然我可以removeAccents()在我的 \n 语句中使用我自己的函数if …
我仍然是yii2中的新手,我正在尝试让我的管理员用户能够切换到另一个用户,这样他就可以看到与这些用户完全相同的页面(如果他们报告任何问题/错误).
我找到了switchIdentity()方法,但我无法弄清楚如何调用它$identity.
顺便说一下,你们认为这是管理员检查"用户视图"或任何人有更好想法的最佳方式吗?