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? 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) 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. 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 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. 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); 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 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.... Link to comment https://forums.phpfreaks.com/topic/143475-solved-preg-match/#findComment-752664 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.