Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何有效地从联系人名单中提取姓名和电子邮件?

如何有效地从联系人名单中提取姓名和电子邮件?
EN

Stack Overflow用户
提问于 2011-10-29 09:46:51
回答 3查看 165关注 0票数 2

我想让用户粘贴到一个新的行分隔联系人列表,并有一系列的名称和电子邮件生成的效率。

假设这些条目的可能性是:

代码语言:javascript
运行
AI代码解释
复制
John, foo@corp.com
foo@corp.com, John
John foo@corp.com
foo@corp.com John
foo@corp.com // will have the [name] key empty
John // will not be considered if there is no email

目前,我的解决方案是通过explode通过\n,然后用逗号爆炸,然后猜测电子邮件和名字在哪里。我承认这是完全不可靠的,这就是为什么我想看看其他人如何处理这个问题。

我试图想出的数组是:

代码语言:javascript
运行
AI代码解释
复制
array(
 [0] => array(
         [name] => John,
         [email] => foo@corp.com
        )
 [1] => ...
)

有什么想法吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-10-29 11:10:58

与其使用into来拆分字符串,还不如使用regex拆分:

http://www.php.net/manual/en/function.preg-split.php

这样,您就可以在一行代码中按空格、逗号或两者分开字符串。很可能是这样的:

代码语言:javascript
运行
AI代码解释
复制
$array = preg_split('#[ |,]+#', $input);

然后,您可以使用filter_var()检查每个字段,查看哪个是电子邮件地址。

代码语言:javascript
运行
AI代码解释
复制
filter_var('bob@example.com', FILTER_VALIDATE_EMAIL);

http://www.php.net/manual/en/function.filter-var.php

票数 1
EN

Stack Overflow用户

发布于 2011-10-29 10:02:20

可以试着这样做吗?

  1. 逐行读取文件(这是文件吗?)或者仅仅是一串文字?)
  2. 由空间爆炸。
  3. 对于从name函数生成的每个数组,验证它是否是一个电子邮件地址(例如,使用这一功能),如果它有效,那么您就知道它是电子邮件地址,否则就是它的名称。
  4. 您还可以“清除”名称(例如删除",")
票数 0
EN

Stack Overflow用户

发布于 2011-10-29 10:14:37

嗯,我想出了一个大致的想法:

  1. 搜索行中的最后一个@字符(以防有人使用包含@的愚蠢名称,因为人们喜欢这样做)。电子邮件只能包含一个@符号;如果包含多个符号,则不会是有效的电子邮件。
  2. 找到@符号左边的第一个空格。虽然电子邮件地址可能包含空间,但大多数电子邮件服务器处理错误,而且许多电子邮件提供商一开始就禁止使用空间,因此通常可以安全地说,没有电子邮件地址将包含空间。
  3. 在该字符上将字符串拆分为两部分(只需为此使用substr(),从0到该字符的位置,然后该字符的位置加上一个到末尾)。您将得到第一部分,这是所有的名称,其中可能包含一个名字,姓氏,或其他信息。第二部分是电子邮件地址。如果@符号的左边没有空格,那么您可以暗示没有指定名称。
  4. 从两个字符串的开头和结尾修剪多余的空格和逗号(只是为了安全起见)。
  5. 您应该验证电子邮件地址部分实际上被格式化为使用正则表达式的电子邮件地址。

如果您真的想添加对空格字符的支持,可以始终直接查找@符号的左侧字符,如果是双引号,则继续向左搜索第二个双引号。包含空格的电子邮件地址为"contains a space"@example.com

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7940610

复制
相关文章
AWS负载均衡器侦听转发规则配置
在VPC架构实现高可用的情况下,通过elb负载均衡器针对不同目标组的不同应用设定转发规则,从而实现利用负载均衡器的A记录+端口/配置的PATH路径访问到相应目标组的主机应用上。
Weiyang
2020/04/20
1.9K0
AWS负载均衡器侦听转发规则配置
使用jQuery中hover事件时遇到的一个小问题
在jQuery中有一个hover()方法,它可以实现模拟css中:hover这个伪类的效果。
colezhou
2019/11/24
1.9K0
Spring Cloud中负载均衡器概览
在上篇文章中(RestTemplate的逆袭之路,从发送请求到负载均衡)我们完整的分析了RestTemplate的工作过程,在分析的过程中,我们遇到过一个ILoadBalancer接口,这个接口中有一
江南一点雨
2018/04/02
1K0
Spring Cloud中负载均衡器概览
并发编程时遇到的问题
观察逻辑发现这个数组中的每个元素执行起来,其实没有必然的先后关系,完全可以并发执行,于是我改了一版代码:
有财君
2023/03/22
5500
并发编程时遇到的问题
处理solr时遇到的问题
前面的博客说了,我在解决solr索引的问题,但是后面我遇到的问题一次比一次严重,上次还能访问solr和系统,上次博客中看到我的solr上面有报错,那是我new_core出现的问题,我作死的在linux中删除了new_core文件
余生大大
2022/11/02
6560
处理solr时遇到的问题
继承HibernateDaoSupport时遇到的问题
都知道spring提供的有零配置功能,而且看见别人的一个项目使用spring+mybatis,只在applicationContext.xml里定义了sqlSessionFactory,然后什么都不用配置了,baseDao继承自SqlSessionDaoSupport,只需要在每个dao上加@Repository注解,spring会自动向对象中注入sqlSessionFactory对象。
用户1212940
2019/05/28
1K0
使用 HaProxy 制作一个简单的负载均衡器
在本文中,我将向大家展示如何使用 haProxy 从我通过 express 设置的 servler 制作一个简单的负载均衡器。
海拥
2023/02/27
6080
使用 HaProxy 制作一个简单的负载均衡器
k8s中通过aws sdk访问s3遇到的坑
由于java使用命令行时可能会出现卡死现象,所以这里想使用aws提供的sdk来直接上传下载文件。 默认有两种方式,一种是程序中配置key:
一笠风雨任生平
2022/01/06
2.1K0
k8s中通过aws sdk访问s3遇到的坑
负载均衡器的作用是什么?负载均衡器的部署方式有哪些?
大家平时生活中是经常需要访问互联网的,无论是休闲娱乐还是查资料往往都要用到网络,网络中用户们访问的过程中是需要通过各种服务器的,很多时候访问互联网的用户们会遇到卡顿的情况,这种情况就有可能是服务器过载了,仅有的服务器组支持不了大量用户们的访问,在现有的网络基础上面现在很多公司还会使用负载均衡技术,那么负载均衡原理是什么?负载均衡技术是如何实现的?
用户8715145
2021/10/18
1.5K0
Python在import时遇到的惨案
    最近使用基于python语言的django框架开发web相关的应用,但是在访问页面的时候会不定时的报错,import导入报错
用户9127725
2022/08/08
4820
[Linux]F5负载均衡器
F5配置最简单负载均衡,需要配置的参数有Node(节点)、Pool(资源池)、和Virtual Server(虚拟服务器),它们的关系是,先配置Node,然后配置VS。Node是最基本的定义,如每个服务器就是一个Node,负载均衡Pool是一组Node接收和处理流量的一组设备,如web服务器集群。BIGIP系统将客户机流量请求发送到Pool成员中的任一服务器上(Node),然后将Pool与BIGIP系统中的Virtual server相关联,最后,BIGIP系统将进入Virtual Server中流量传输到Pool成员,Pool再传达给Node。
唯一Chat
2019/09/10
2.1K0
[Linux]F5负载均衡器
[深入浅出LB]手把手带你实现一个负载均衡器
负载均衡,含义就是根据一定算法将负载(工作任务)进行平衡,分摊到多个操作单元上运行、执行,常见的为Web服务器、企业核心应用服务器和其他主要任务服务器等,从而协同完成工作任务。负载均衡在原有的网络结构上提供了一种透明且有效的的方法扩展服务器和网络设备的带宽、加强网络数据处理能力、增加吞吐量、提高网络的可用性和灵活性,同时承受住更大的并发量级。
前端LeBron
2021/12/08
2K0
[深入浅出LB]手把手带你实现一个负载均衡器
破解棋牌多开时遇到的一个问题:调试时大厅进程总是退出
今天破解一个棋牌游戏多开限制,把互斥体和窗口查找都解除以后,运行大厅程序最后还是会退出。后来发现,不管是不是多开,用OD调试该程序都是100%的退出。经过多番折腾,发现这个游戏的运行过程是这样的:启动大厅程序gameplaza.exe时,该进程会启动update.exe,然后自身退出,然后由update.exe进程再启动gameplaza.exe。用OD打开update.exe,然后下断点:bp CreateProcessW,发现该程序启动gameplaza.exe时带了UPDATED这个参数,这才恍然大悟
用户2135432
2018/06/04
1.3K0
我在移动web开发中遇到的各种问题
目前(2015年8月3日15:02:24)在大部分安卓手机都发现这个问题,触发bug的条件知道了,但是原因未知。触发bug的条件是需要横向滚动的层不能位于纵向滚动不是body的层下面(后面有具体解释)。
黒之染
2018/10/19
1.9K0
使用docker部署golang http服务时遇到的一个问题
需要使用docker将golang的httpserver容器化。在这个过程中遇到了一个弱智问题,特此记录。
冬天里的懒猫
2022/04/13
8290
Sqlmap使用中遇到的一个小破问题
设置 level 5 和 risk 3 也同样没有跑出来,这可有点难为我了,一个小破攻防,我还要写脚本,不可能!
意大利的猫
2021/01/05
1.2K0
Sqlmap使用中遇到的一个小破问题
关于 Kubernetes中Service使用nginx-controller实现Ingress负载均衡器的一个Demo
当你觉活着没啥感受时,会陷入无尽虚无,越来越不像一人,存在的意义只能从某些快感中汲取,活着像海中的小舟一样,无所畏惧,亦畏惧所有。成长至此,大都是别人功劳,所以任有部分人性未曾泯灭,与其说努力,不如讲只求心安;希望每个小伙伴都不要像我一样,每天起床的第一句话,告诉自己,沉沦的小酒馆已经打烊了啦!要好好爱护自己的身体 —山河已无恙
山河已无恙
2023/03/02
8030
关于 Kubernetes中Service使用nginx-controller实现Ingress负载均衡器的一个Demo
记录使用mongoDB时遇到的有趣问题
最近在开发金融类的k线、盘口业务,而这些业务的海量数据如何存储,公司的技术选型,选择了MongoDB。
Blue_007
2023/10/21
3100
记录使用mongoDB时遇到的有趣问题
点击加载更多

相似问题

AWS负载均衡器https问题

14

AWS -在通过负载均衡器时为什么更改myIp

22

AWS网络负载均衡器SSL通过

17

在AWS中创建负载均衡器

17

neo4j HA healthcheck端点通过AWS负载均衡器返回401

53
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档