возвратитесь слова располагает с интервалами числа или соответствие, все ожидает специальные символы как *& $! ^&?

хорошо у меня есть некоторая строка

'Hello^<php>World&*124><
i ju*st press enteR'

как я возвращаю его (функция лучше?)

'Hello World123
i just press enter'

позволить

  • числа
  • текст
  • пробелы, новая строка, и т.д.

как я делаю это с regex? я должен использовать regex? существует ли иначе?

Спасибо

Adam Ramadhan

1
задан Adam Ramadhan 29 July 2010 в 18:52
поделиться

2 ответа

Вы можете сделать это:

function removeBad($str)
{
  return preg_replace("/[^a-zA-Z0-9_ (\n|\r\n)]+/", "", $str);
}

Это удалит все, кроме алфавита, цифр, пробелов и новой строки

Если вы также хотите удалить любые теги, такие как в своем тексте вы можете сделать:

function removeBad($str)
{
  $str = strip_tags($str);
  return preg_replace("/[^a-zA-Z0-9_ (\n|\r\n)]+/", "", $str);
}

Использование:

$str = removeBad('Hello^<php>World&*124><');
echo $str;

Результат:

HelloWorld124

.

$str = removeBad('i ju*st press EnteR');
echo $str;

Результат:

i just press EnteR
2
ответ дан 2 September 2019 в 22:36
поделиться

Подстановка Regex может сделать это за вас. Думаю, вам нужно два. Первый, который удалит все, что находится между символами <и>. Второй - для удаления любого символа, который НЕ входит в разрешенный набор символов. Это самый безопасный способ сделать это.

0
ответ дан 2 September 2019 в 22:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: