Почему это регулярное выражение PHP не подходит для акцентированных символов? - PullRequest
3 голосов
/ 20 ноября 2010

Я пишу быструю страницу PHP, и мне нужно игнорировать любые строки с акцентированными символами.Я использую эту строку preg_match () в каждом слове:

"[ÁÁÅÃÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïëñùóôüýþÿ]"

(довольно грубый метод, я знаю, я знаю, но я знаю, носимволы с акцентом)

Но функция, похоже, никогда не возвращает true, когда ищет строки с символами с акцентом (Примеры: "cheapâ €", "gustarÃa" ...)

Я нераньше использовал Regex, поэтому, пожалуйста, укажите на любые глупые ошибки, которые я здесь делаю!

1 Ответ

3 голосов
/ 20 ноября 2010

Для регулярных выражений PHP необходимо разделителей , например:

preg_match('/[ÀÁÅÃÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ]/', "gustaría");

Обратите внимание, что для регулярных выражений также желательно использовать одинарные кавычки, поскольку знак доллара может быть ошибочно принят php в качестве переменной.

...