在我的$plates = explode(';', $plates);
之后,我想在创建新的$dossier
时包括另一个正则表达式(在我的foreach中):
$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
表达式中,但是在爆炸之后。
我建议编辑现有函数如下:
- 当
preg_replace
ING时,在输入字符串上使用trim()
以后清除空值 - 使用
str_replace
在foreach
块中替换连字符。
请参阅PHP演示:
$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
。