首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在创建对象时,如何包含这个正则表达式?

在创建对象时,如何包含这个正则表达式?
EN

Stack Overflow用户
提问于 2016-12-22 09:03:40
回答 1查看 43关注 0票数 2

在我的$plates = explode(';', $plates);之后,我想在创建一个新的$dossier时包含另一个正则表达式(在我的预期中):

$minus = preg_replace('~[-]~', '', $license_plates);

我该怎么做?

这是我的密码:

代码语言:javascript
复制
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表达式中,但是在爆炸之后。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-22 09:19:11

我建议编辑现有的职能如下:

  • 在输入字符串上使用trim(),以便以后清除空值
  • 使用str_replace替换foreach块后面的连字符。

PHP演示

代码语言:javascript
复制
$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";
}

输出:WORDHERE36LXD5

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41279310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档