(я новичок в stackoverflow, поэтому я поступаю неправильно), выполняя плохую работу со стилем моего ответа, не стесняйтесь, дайте мне знать.)
Поправьте меня, если я 'Я ошибаюсь, так как сейчас я тоже занимаюсь той же проблемой, но я не думаю, что принятого ответа с использованием filter_var достаточно, поскольку злоумышленники могут обойти это с помощью unicode.
Пример: "& # 66;& # 99; & # 99; & # 58; "(пробелы добавлены, поэтому stackoverflow будет отображать его правильно)
Это не будет удалено из строки и будет позже заменено на "Bcc:".
Это мое решение, но естьможет быть лучше.Если кто-нибудь знает кого-то, я бы с удовольствием его услышал.
$string = str_replace("&", "(and)", $string);
$string = str_replace("#", "(num)", $string);
$string = str_replace(";", "(semi-colon)", $string);
$string = str_replace(":", "(colon)", $string);
$string = str_replace("@", "(at)", $string);
$string = str_replace("\\", "(backslash)", $string);
$string = filter_var($string, FILTER_SANITIZE_STRING);