在我的$plates = explode(';', $plates);之后,我想在创建一个新的$dossier时包含另一个正则表达式(在我的预期中):
$minus = preg_replace('~[-]~', '', $license_plates);
我该怎么做?
这是我的密码:
public function addLicensePlates(Request $request)
{
$product_id = $request->input('product_id');
$license_plates = $request->input('license_plates');
$plates = preg_replace('~\s+|[.,:;*/_]~', ';', $license_plates); // \s+|[.,:;*/_]
$plates = explode(';', $plates);
foreach($plates as &$plate) {
$dossier = new Dossier;
$dossier->license_plate = trim($plate);
$dossier->product_id = $product_id;
$dossier->save();
}
}PS:我不想把-添加到$plates表达式中,但是在爆炸之后。
发布于 2016-12-22 09:19:11
我建议编辑现有的职能如下:
trim(),以便以后清除空值str_replace替换foreach块后面的连字符。$license_plates = " WORD-HERE 36-LXD-5";
$plates = preg_replace('~\s+|[.,:;*/_]~', ';', trim($license_plates)); // trim the incoming value
$plates = explode(';', $plates);
foreach($plates as &$plate) {
$license_plate = str_replace('-', '', $plate); // Remove hyphens
echo $license_plate. "\n";
}输出:WORDHERE和36LXD5。
https://stackoverflow.com/questions/41279310
复制相似问题