@rusgayfer

Как найти подмену в кириллице на латинские?

Например в тексте данное сообщение:

Привeт, как делa? (жирные выделил замененные на латинские)

Нужно функцией проверить есть ли подмена русских букв на английские (похожие) через PHP.

Нужно это для предотвращения спама путем подмены похожих символов.

keK_H9VVSfU.jpg?size=896x489&quality=96&proxy=1&sign=62ce5ab0687e047d0cf9502e546e2511&type=album
  • Вопрос задан
  • 195 просмотров
Решения вопроса 1
Simkav
@Simkav
Регулярки вам в помощь
'/\w/m'
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
politon
@politon
HTML5,CSS3,JS,PHP,SQL,API,canvas,animation...
Регуляркой [Аа-Яя] [Aa-Zz]
Ответ написан
Mikhail_E
@Mikhail_E
1С, SQL
Можно воспользоваться regexp'ом
<?php
$str = "Привeт, как делa?";
$pattern = "/[a-zA-Z]+/i";
echo preg_match($pattern, $str); // Outputs 1


Проверка PHP code
Ответ написан
@Flysink
$text = "Привeт, как делa? (жирные выделил замененные на латинские)";

function detect_unicode($text)
{
	$out = "";
	$flag = false;

	for($i = 0; $i < strlen($text); ++$i)
	{
		if(mb_check_encoding($text[$i], 'UTF-8') && !preg_match('/([^a-zA-Zа-яА-Я])$/u', $text[$i]))
			$out .= "<b>$text[$i]</b>";
		else
		{
			$out .= $text[$i];
			$flag = true;
		}
	}

	return $flag ? $out : $text;
}

echo detect_unicode($text);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы