Welcome to WebmasterWorld Guest from 54.226.62.251

Forum Moderators: coopster & jatar k

Message Too Old, No Replies

Preg replace help?

     

BlackRaven

5:59 am on Dec 14, 2010 (gmt 0)

10+ Year Member



Hi,
i need help with my preg_replace, basically i am trying to replace everything except RFC 3986 valid chars


$User_URL=preg_replace('/[^A-Z, a-z, 0-9, -, ., _, ~, :, /, ?, #, [, ], @, !, $, &, ', (, ), *, +, ,, ;,=,%]/', '', $User_URL);



Thanks

astupidname

8:37 am on Dec 14, 2010 (gmt 0)

5+ Year Member



You need to escape special characters which have meaning within regular expressions, also you are not actually building an array here, so no need to seperate each character with a comma. So I think this should cover it:

$User_URL=preg_replace('/[^A-Za-z0-9\-\._\~\:\/\?#\[\]@\!\$&\'\(\)\*\+,;\=%]/', '', $User_URL);

Though I would have to ask, won't the replacement butcher the url? Would you not be able to just use rawurlencode() [php.net] or urlencode() [php.net] instead?
 

Featured Threads

Hot Threads This Week

Hot Threads This Month