首页 > 解决方案 > 特定字符之前和之后的 PHP 子字符串,直到空格、逗号...?

问题描述

我正在尝试抓取电子邮件。可以说我有一个长字符串:

$str = "this is the email query@stackoverflow.com which you might want to scrape";
$needle_1 = "@";
$needle_2 = array("[ ]","[,]","["]");

我想提取电子邮件。我假设使用 @ 是解决方案。所以基本上,我需要得到@之前和之后的所有字符,直到空格、逗号或“。

目前最好的试验是:

$string = 'this is the email query@stackoverflow.com which you might want to scrape';
$template = "/[\w]+[@][\w]+[.][\w]+/";
preg_match_all($template, $string, $matches);
var_dump($matches);

我怎样才能做到这一点?

标签: phpregexweb-scrapingsubstring

解决方案


我觉得它看起来更好

  $string = 'this is the email query@stackoverflow.com which you might want to scrap';
  $template = "/[\w]+[@][\w]+[.][\w]+/";
  preg_match_all($template, $string, $matches);
  var_dump($matches);

推荐阅读