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或+号后的任何数字。
您可以使用preg_replace只需一行
这会找到一个文字+和其后的任何数字,并将其删除。
echo preg_replace("/(\+\d+)/", "", "jaymin+1@gmail.com");
Run Code Online (Sandbox Code Playgroud)
输出: jaymin@gmail.com