删除字符串php中的数字

删除字符串php中的数字,php,laravel,preg-replace,Php,Laravel,Preg Replace,我有一个特殊的字符串 $email = "jaymin+1@gmail.com"; 我想清理并删除字符串中的+1,它可以是任何数字+1或+99,所以最后的字符串可以是 $email = "jaymin@gmail.com"; 我不知道该怎么办,我尝试创建这个方法,但它给了我这个输出 $email = jaymingmail.com; 以下是我的职责: public function delete_all_between($beginning, $end, $string) {

我有一个特殊的字符串

$email = "jaymin+1@gmail.com";
我想清理并删除字符串中的+1,它可以是任何数字+1或+99,所以最后的字符串可以是

$email = "jaymin@gmail.com";
我不知道该怎么办,我尝试创建这个方法,但它给了我这个输出

$email = jaymingmail.com;
以下是我的职责:

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);
谁能帮我找出哪里出了问题


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

您可以使用preg\u replace删除一行

这将查找文本+和后面的任何数字并删除它们

echo preg_replace("/(\+\d+)/", "", "jaymin+1@gmail.com");
输出:
jaymin@gmail.com

执行
strlen($end)
意味着您还希望删除结尾字符