php - preg match and stripos -


i have csv import function. there in csv column ''1. informatik, bachelor, 2015, 1. fachsemester'' or '' 1. mathematik, la bachelor gymnasien, 2015,''

if in line exists 'la' , $fachrichtung='lehramt', if there no la, $fachrichtung first word after number. here: 1. informatik, bachelor, 2015, 1. fachsemester $fachrichtung= 'informatik'. if first word ist not informatik or physik, $fachrichtung= 'sonstige'.

preg_match( '/[\d]+\.(?p<fach>[\w\s]+)/ius', $tmp[6], $amatches ); $fachrichtung = ( false !== stripos($tmp[6], ', la ') ) ? "lehramt" : trim( $amatches['fach'] ); 

how can include last condition ('sonstige') in code above? tried if , else doesn't function. thanks

you need check value of fach group later , assign value $fachrichtung accordingly:

// $tmp = '1. mathematik, la bachelor gymnasien, 2015,'; // => sonstige $tmp = '1. informatik, bachelor, 2015, 1. fachsemester'; // => informatik $fachrichtung = ''; if (preg_match( '/\d+\.(?p<fach>[\w\s]+)/ius', $tmp, $amatches )) {     if (true === stripos($tmp, ', la ') ) {       $fachrichtung = "lehramt";    } else if ("informatik" !== trim( $amatches['fach'] ) && "physik" !== trim( $amatches['fach'] )) {       $fachrichtung = "sonstige";    } else {       $fachrichtung = trim( $amatches['fach'] );    }    echo $fachrichtung; } 

see php demo.

the regex ok, added couple of if ... else.

the else if ("informatik" !== trim( $amatches['fach'] ) && "physik" !== trim( $amatches['fach'] )) checks if fach group value not equal trimmed informatik or physik. if not equal, set sonstige value. else, set fach group value.


Comments

Popular posts from this blog

Is there a better way to structure post methods in Class Based Views -

performance - Why is XCHG reg, reg a 3 micro-op instruction on modern Intel architectures? -

jquery - Responsive Navbar with Sub Navbar -