amazinggrace1983 Posted August 22, 2006 Share Posted August 22, 2006 This will probably take 2 seconds for anyone else, but I've been thrown in the deep end so please help.Basically, I create a string (its a file name), called file, which has the form ddmmmyy_number of anodes, eg. 22aug06_twoanodes or 03jul06_allanodes. I need to check the file names are of the right format, using preg_match. Can anyone please tell me what needs to go in it?? I know it's something likepreg_match("/[\0123]\d\$month\[0][6789]\_$ANODE$/", $file)but can I really just use $month and _$ANODE?? (these are arrays, created already)Please please help. Very urgent!!!!Grace Link to comment https://forums.phpfreaks.com/topic/18309-simple-preg_match-help-needed/ Share on other sites More sharing options...
effigy Posted August 22, 2006 Share Posted August 22, 2006 This does not consider invalid dates.[code]<pre><?php $months = array( 'jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug', 'sep', 'oct', 'nov', 'dec' ); $anodes = array( 'two', 'all' ); $tests = array( '22aug06_twoanodes', '03jul06_allanodes' , '01xxx08_noanodes', 'invalid_string', ); foreach ($tests as $test) { echo "<b>Checking $test...</b><br />"; if (!preg_match('/^\d{2}([a-z]{3})\d{2}_(.+?)anodes$/', $test, $matches)) { echo "Invalid file name.<br />"; } if (! in_array($matches[1], $months)) { echo "Invalid month.<br />"; } if (! in_array($matches[2], $anodes)) { echo "Invalid anode type.<br />"; } }?></pre>[/code] Link to comment https://forums.phpfreaks.com/topic/18309-simple-preg_match-help-needed/#findComment-78642 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.