删除字符串php中的数字

Bit*_*ase 2 php preg-replace laravel

我有一个特定的字符串

$email = "jaymin+1@gmail.com";
Run Code Online (Sandbox Code Playgroud)

我要清理并从字符串中删除+1,它也可以是任何数字+1或+99,因此最终字符串可以是

$email = "jaymin@gmail.com";
Run Code Online (Sandbox Code Playgroud)

我不知道该怎么办,我尝试创建此方法,但它给了我这个输出。

$email = jaymingmail.com;
Run Code Online (Sandbox Code Playgroud)

下面是我的功能:

public function delete_all_between($beginning, $end, $string) {
      $beginningPos = strpos($string, $beginning);
      $endPos = strpos($string, $end);
      if ($beginningPos === false || $endPos === false) {
        return $string;
      }

      $textToDelete = substr($string, $beginningPos, ($endPos + strlen($end)) - $beginningPos);

      return $this->delete_all_between($beginning, $end, str_replace($textToDelete, '', $string)); // recursion to ensure all occurrences are replaced
    }


$out = $this->delete_all_between('+', '@', $email);
Run Code Online (Sandbox Code Playgroud)

谁能帮我解决我要去的地方。

我需要删除+1或+号后的任何数字。

And*_*eas 6

您可以使用preg_replace只需一行

这会找到一个文字+和其后的任何数字,并将其删除。

echo preg_replace("/(\+\d+)/", "", "jaymin+1@gmail.com");
Run Code Online (Sandbox Code Playgroud)

输出: jaymin@gmail.com