开发者

PHP RegEx string Replace

开发者 https://www.devze.com 2023-01-01 18:37 出处:网络
I\'ve recently written a javascript RegExp to cleanse my data at the front end, I now need to do exactly the same for my PHP back end but not h开发者_开发问答aving worked in PHP for a while I\'m havin

I've recently written a javascript RegExp to cleanse my data at the front end, I now need to do exactly the same for my PHP back end but not h开发者_开发问答aving worked in PHP for a while I'm having trouble. Below is the javascript RegExp, can someone please help me convert this to PHP?

var illegalChars = /[\(\)\<\>\,\;\:\.\~\@\#\$\!\%\^\&\*\'\?\(\)\+\=\{\}\`\\\/\"\[\]]/gi;  
var siteSuggest = $(this).val().toUpperCase().split(' ').join('').replace(new RegExp(illegalChars), "");

So, in summary, I want to remove all of the illegal characters globally, remove spaces & capitalize the variable as the variable will be used to create a database or table in sql.


Honestly, I think you'd be better off specifying good characters rather than trying to find all bad characters (after all, there's plenty of non-ASCII characters you forgot about). I'd do something like:

$regex = '#[^a-z0-9_]#i';
$val = preg_replace($regex, '', $val);
$val = strtoupper($val);

This regex will have allowable characters as all alpha, numerics and _. If there's more you want, just add them to the character class. There's no need to split on a space, since the regex will match spaces (The ^ at the start of the character class is a negation)...

You can adjust your JS like this:

var illegalChars = /[^a-z0-9_]/gi;
var siteSuggest = $(this).val().replace(new RegExp(illegalChars), '').toUpperCase();



$illegal_chars = array(' ', ';', '~', '@', ...);
strtoupper(str_replace($illegal_chars, '', $value));

0

精彩评论

暂无评论...
验证码 换一张
取 消