预赛和脱衣舞
preg match and stripos
我有一个csv导入功能。在 csv 中有一个像这样的列
''1。 Informatik, Bachelor, 2015, 1. Fachsemester''
或这个
'' 1. 数学, LA Bachelor Gymnasien, 2015,''
如果行中存在 'LA' ,那么 $fachrichtung='Lehramt'
,
如果没有 LA,$fachrichtung
是数字后面的第一个单词。
此处:1. Informatik, Bachelor, 2015, 1. Fachsemester
$fachrichtung= 'Informatik'
。
但是如果第一个词不是 Informatik 或 Physik,那么
$fachrichtung= 'Sonstige'
.
preg_match( '/[\d]+\.(?P<fach>[\w\s]+)/ius', $tmp[6], $aMatches );
$fachrichtung = ( false !== stripos($tmp[6], ', LA ') ) ? "Lehramt" : trim( $aMatches['fach'] );
如何在上面的代码中包含最后一个条件 ('Sonstige')?我用 if 和 else 试过了,但它不起作用。
谢谢
稍后需要检查fach
组的值,并相应地赋值给$fachrichtung
:
// $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;
}
参见PHP demo。
正则表达式没问题,我只是添加了几个 if ... else
。
else if ("Informatik" !== trim( $aMatches['fach'] ) && "Physik" !== trim( $aMatches['fach'] ))
检查 fach
组值是否不等于修剪后的 Informatik
或 Physik
。如果不相等,则设置 Sonstige
值。否则,设置 fach
组值。
我有一个csv导入功能。在 csv 中有一个像这样的列 ''1。 Informatik, Bachelor, 2015, 1. Fachsemester'' 或这个 '' 1. 数学, LA Bachelor Gymnasien, 2015,''
如果行中存在 'LA' ,那么 $fachrichtung='Lehramt'
,
如果没有 LA,$fachrichtung
是数字后面的第一个单词。
此处:1. Informatik, Bachelor, 2015, 1. Fachsemester
$fachrichtung= 'Informatik'
。
但是如果第一个词不是 Informatik 或 Physik,那么
$fachrichtung= 'Sonstige'
.
preg_match( '/[\d]+\.(?P<fach>[\w\s]+)/ius', $tmp[6], $aMatches );
$fachrichtung = ( false !== stripos($tmp[6], ', LA ') ) ? "Lehramt" : trim( $aMatches['fach'] );
如何在上面的代码中包含最后一个条件 ('Sonstige')?我用 if 和 else 试过了,但它不起作用。 谢谢
稍后需要检查fach
组的值,并相应地赋值给$fachrichtung
:
// $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;
}
参见PHP demo。
正则表达式没问题,我只是添加了几个 if ... else
。
else if ("Informatik" !== trim( $aMatches['fach'] ) && "Physik" !== trim( $aMatches['fach'] ))
检查 fach
组值是否不等于修剪后的 Informatik
或 Physik
。如果不相等,则设置 Sonstige
值。否则,设置 fach
组值。