M.O.S. Studios Posted February 2, 2009 Share Posted February 2, 2009 hey guys, i have looked up preg match trying to understand the codes that determin what the script looks for. i dont reraly understand it. i want this code: preg_match('/(^[a-z0-9]*)/i', $_POST['ship_post1'].$_POST['ship_post2'], $matches); to unclude spaces and periods any one have an idea? Quote Link to comment https://forums.phpfreaks.com/topic/143475-solved-preg-match/ Share on other sites More sharing options...
gevans Posted February 2, 2009 Share Posted February 2, 2009 preg_match('/(^[a-z0-9 \.]*)/i', $_POST['ship_post1'].$_POST['ship_post2'], $matches); The space just gets put in, the period is escaped as it is a metacharacter (special in regex) Quote Link to comment https://forums.phpfreaks.com/topic/143475-solved-preg-match/#findComment-752620 Share on other sites More sharing options...
nrg_alpha Posted February 2, 2009 Share Posted February 2, 2009 preg_match('/(^[a-z0-9 \.]*)/i', $_POST['ship_post1'].$_POST['ship_post2'], $matches); The space just gets put in, the period is escaped as it is a metacharacter (special in regex) You do not need to escape the period in this case, as such meta characters loose their meanings within a character class and are thus treated as literals. EIDT - Some meta characters such as ^ or - persist as meta characters within the characer class (depending on their position). But periods are simply periods. Quote Link to comment https://forums.phpfreaks.com/topic/143475-solved-preg-match/#findComment-752635 Share on other sites More sharing options...
gevans Posted February 2, 2009 Share Posted February 2, 2009 preg_match('/(^[a-z0-9 \.]*)/i', $_POST['ship_post1'].$_POST['ship_post2'], $matches); The space just gets put in, the period is escaped as it is a metacharacter (special in regex) You do not need to escape the period in this case, as such meta characters loose their meanings within a character class and are thus treated as literals. Very true, excuse me being slow Quote Link to comment https://forums.phpfreaks.com/topic/143475-solved-preg-match/#findComment-752637 Share on other sites More sharing options...
nrg_alpha Posted February 2, 2009 Share Posted February 2, 2009 lol no worries (and no, you're not slow). Just one of those 'gotchas' that regex can throw you. Quote Link to comment https://forums.phpfreaks.com/topic/143475-solved-preg-match/#findComment-752640 Share on other sites More sharing options...
gevans Posted February 2, 2009 Share Posted February 2, 2009 Yea, just been trying to get ontop of regex recently. @ M.O.S. Studios should've been; preg_match('/(^[a-z0-9. ]*)/i', $_POST['ship_post1'].$_POST['ship_post2'], $matches); Quote Link to comment https://forums.phpfreaks.com/topic/143475-solved-preg-match/#findComment-752642 Share on other sites More sharing options...
M.O.S. Studios Posted February 2, 2009 Author Share Posted February 2, 2009 Awesome thanks guys, i really dont understand that code, but this seems to work im going to try to find some more sites that copuld explain it to me Quote Link to comment https://forums.phpfreaks.com/topic/143475-solved-preg-match/#findComment-752660 Share on other sites More sharing options...
gevans Posted February 2, 2009 Share Posted February 2, 2009 A great introductory tutorial on regex can be found here CLICKY at php freaks. It's the first tutorial I used.... Quote Link to comment https://forums.phpfreaks.com/topic/143475-solved-preg-match/#findComment-752664 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.