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

What is happening when Matlab is starting a "parallel pool"? -

php - Cannot override Laravel Spark authentication with own implementation -

Qt QGraphicsScene is not accessable from QGraphicsView (on Qt 5.6.1) -