PHP 特定字符前后的子字符串,直到 space,逗号...?
PHP substring before and after specific character until space, comma ...?
我正在尝试抓取电子邮件。假设我有一个长字符串:
$str = "this is the email query@whosebug.com which you might want to scrape";
$needle_1 = "@";
$needle_2 = array("[ ]","[,]","["]");
我想提取电子邮件。我假设使用 @ 是解决方案。
所以基本上,我需要获取@之前和之后的所有字符,直到 space、逗号或 ".
目前最好的试用是:
$string = 'this is the email query@whosebug.com which you might want to scrape';
$template = "/[\w]+[@][\w]+[.][\w]+/";
preg_match_all($template, $string, $matches);
var_dump($matches);
我怎样才能做到这一点?
您应该为此创建一个正则表达式:
<?php
$str = "this is the email query@whosebug.com which you might want to scrap";
$pattern = '/[a-z0-9_\-\+\.]+@[a-z0-9\-]+\.([a-z]{2,4})(?:\.[a-z]{2})?/i';
preg_match_all($pattern, $str, $matches);
var_dump($matches[0]);
?>
我觉得更好看
$string = 'this is the email query@whosebug.com which you might want to scrap';
$template = "/[\w]+[@][\w]+[.][\w]+/";
preg_match_all($template, $string, $matches);
var_dump($matches);
我正在尝试抓取电子邮件。假设我有一个长字符串:
$str = "this is the email query@whosebug.com which you might want to scrape";
$needle_1 = "@";
$needle_2 = array("[ ]","[,]","["]");
我想提取电子邮件。我假设使用 @ 是解决方案。 所以基本上,我需要获取@之前和之后的所有字符,直到 space、逗号或 ".
目前最好的试用是:
$string = 'this is the email query@whosebug.com which you might want to scrape';
$template = "/[\w]+[@][\w]+[.][\w]+/";
preg_match_all($template, $string, $matches);
var_dump($matches);
我怎样才能做到这一点?
您应该为此创建一个正则表达式:
<?php
$str = "this is the email query@whosebug.com which you might want to scrap";
$pattern = '/[a-z0-9_\-\+\.]+@[a-z0-9\-]+\.([a-z]{2,4})(?:\.[a-z]{2})?/i';
preg_match_all($pattern, $str, $matches);
var_dump($matches[0]);
?>
我觉得更好看
$string = 'this is the email query@whosebug.com which you might want to scrap';
$template = "/[\w]+[@][\w]+[.][\w]+/";
preg_match_all($template, $string, $matches);
var_dump($matches);