PHP Regex заменяет все, что не так много символов - PullRequest
0 голосов
/ 28 февраля 2012

Мне нужна функция preg-replace для замены всего, что не:

a-zA-Z0-9 .,:;!?()~=+-_\/@$#&%'"

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

О, кстати, я собираюсь заменить его ничем, просто чтобы прояснить это

Ответы [ 2 ]

1 голос
/ 28 февраля 2012

Не забудьте убежать от вещей.

preg_replace('/[^a-zA-Z0-9 .,:;!?()~=+_\\/@$#&%\'"-]/', "", $string);
1 голос
/ 28 февраля 2012

Хорошее место, чтобы начать играть с регулярным выражением: http://gskinner.com/RegExr/ Я считаю, что большую часть времени, если я просто немного потренируюсь здесь, я смогу найти именно то, что ищу.Например, вы можете попробовать что-то вроде.

[^a-zA-Z0-9 .,:;!?()~=+_\\/@$#&%\'"-]

Помещение этого в RegExr показывает, что ничего не выбрано, однако, если вы вставите "*" где-нибудь в теле, оно выберет эту букву.Это отличная песочница для регулярных выражений.Вы также можете посетить сайт http://www.regular -expressions.info / , на котором есть много полезной информации.

В вопросе, который вы задаете, вы бы использовали что-то вроде:

preg_replace('/[^a-zA-Z0-9 .,:;!?()~=+_\\/@$#&%\'"-]/', "", $string);

Надеюсь, это поможет!

...