`
dennisbing
  • 浏览: 160968 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

微博@的正则表达式使用

    博客分类:
  • PHP
 
阅读更多

public function getHrefUsername($txt) {
$txt = $txt . " ";
$out = array();
if (strstr($txt, '@')) {
$txt = str_replace(':', ':', $txt);
$txt = str_replace(' ', ' ', $txt);
$txt = preg_replace('/@([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff\.]*)[\s|\:]/', '<a href="http://'._DOMAIN_.'/user/center?username=$1" target="_blank">@$1</a> ', $txt);
}
return $txt;
}
如上的正则就是过滤出来@后人名的正则,然后对其单独的人名进行处理就可以了。

@使用后的人名全部加上链接

还可以使用回调函数来验证用户名是否存在:

 

public function getHrefUsername($txt) {

$txt = $txt . " ";

$out = array();

if (strstr($txt, '@')) {

$txt = str_replace(':', ':', $txt);

$txt = str_replace(' ', ' ', $txt);

$txt = preg_replace_callback('/@([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff\.]*)[\s|\:]/', array('self', 'regFormatUser'), $txt);

}

return $txt;

}

public function regFormatUser($mat){

if($mat[1]){

$aInfo = $this->getInfoByUsername($mat[1]);

if (1 == $aInfo['status'] && !empty($aInfo['info'])) {

return '<a href="http://'._URI_ROOT_.'/user/center?username='.$mat[1].'" target="_blank">@'.$mat[1].'</a> ';

}else{

return '@'.$mat[1].' ';

}

}

}

 

检验用户名是否存在

分享到:
评论

相关推荐

    安卓开发仿微博@#艾特功能

    1. **正则表达式**:使用正则表达式来匹配`@`后的字符序列,例如`@\w+`可以匹配以`@`开头,后面跟着一个或多个字母数字的字符串。在安卓中,可以使用`Pattern`和`Matcher`类来实现。 2. **HTML格式化**:为了使@...

    python通过正则查找微博@(at)用户的方法

    使用Python正则表达式是实现这一需求的有效方法之一。本知识点将详细介绍如何利用Python中的正则表达式来查找微博文本中标记的用户昵称。我们将重点介绍Python的正则匹配技巧,并通过实例加深理解。 首先,我们需要...

    jQuery仿新浪微博@功能特效.zip

    2. **正则表达式匹配**:通过正则表达式`/@\w+/g`匹配以“@”开头的连续字母数字组合,找出所有可能的提及。JavaScript的`String.prototype.match()`方法可以用于这个目的。 3. **数据获取**:模拟新浪微博,我们...

    关于js注册几种简单正则表达式

    这几种我都试过,我也苦于正则表达式,显出几种,希望会对你有帮助!

    javaweb新浪微博邮箱登录界面,图书周排行榜界面,正则表达式验证用户注册页面前端代码资源包

    例如,邮箱验证可以使用`^[\w\.-]+@[\w\.-]+\.\w+$`这样的正则表达式。前端验证可以即时反馈错误,减少无效请求,提高服务器效率。后端验证同样重要,防止恶意攻击,确保数据安全。 在这个资源包中,"webapp"文件夹...

    PHP使用正则表达式获取微博中的话题和对象名

    本文会介绍如何使用PHP中的正则表达式功能来获取微博中的话题和对象名,并提供一些字符串操作的技巧。 首先,我们来讨论正则表达式的基础知识。正则表达式是由一系列字符构成的模式,用于对字符串进行匹配和替换...

    ios-类似微博@功能(编辑页面).zip

    - 通过正则表达式判断“@”后的内容,找出非字母、数字和下划线的结束符号,以此来确定高亮部分的范围。 2. **高亮显示**: - 当检测到“@”字符后,可以使用`NSAttributedString`来实现高亮显示。创建一个`...

    实现新浪微博客户端@@@

    在实际项目中,开发者可能会用正则表达式来提取@用户名,然后进行后续的逻辑处理。同时,也需要考虑到不同平台的兼容性和差异,确保功能在多种设备和操作系统上表现一致。 总之,实现微博客户端的@功能涵盖了前端UI...

    jQuery仿新浪微博@功能特效特效代码

    可以使用正则表达式来判断用户是否输入了“@”。 3. **Ajax请求**:向服务器发送请求,获取与“@”相关的用户名数据。请求可能需要包含一些参数,如前缀(即用户输入的字符),以便服务器能够返回匹配的用户名。 4...

    iOS图文混排(模仿新浪微博)

    本Demo采用富文本结合正则表达式实现UITableVIew上的图文混排及布局,提供超链接、@、$等功能,完全模仿新浪微博的功能,在数据请求上使用了AFJSONRequest,也使用了图片的异步加载,性能良好,值得学习。

    疯狂java培训的sina微博源码

    这个压缩包包含了两个主要部分:一个用于收集和处理常用正则表达式的集合,以及具体的Sina微博源码示例。这些内容旨在帮助开发者提升在Android平台上实现Oauth认证、动画效果和异步处理的技能。 首先,让我们关注...

    最新版网址替换正则表达式

    最新网址正则表达式 代码如下: (http://)?(\w+\.)(\w+\.)(\w+)(/\w+)*/?(.html)?|http://\w+\.\w+/\w+|[《》【】()()★※@~#]|\s{2,} 第一部分替换正常的网址,第二部分替换微博的网址,第三部分替换常用的符号,...

    新浪微博源码

    总的来说,这个【新浪微博源码】项目涵盖了Android开发中的一些核心概念和技术,包括自定义组件(RadioGroup替代TabHost)、用户交互处理(CheckBox逻辑)、数据验证(正则表达式)以及文本格式化(Span的使用)。...

    python微博数据清洗过滤微博数据处理

    # 过滤文本中的html链接等 # 提取微博中的话题名称#和人名@ # 分词 #去除停用词 # 表情处理

    新浪微博2011年实习生招聘笔试题目

    新浪微博 2011软件测试工程师在北航的宣讲会笔试题目,

    微博数据抓取

    综上所述,微博数据抓取不仅涉及技术层面的挑战,如正则表达式的熟练运用、编程语言的选择、数据存储方案的设计,还关乎法律与伦理的考量。对于希望从事这一领域的开发者而言,掌握必要的技能同时保持高度的责任感和...

    网络爬虫+csv文件处理

    在网络爬虫中,我们通常用正则表达式配合re模块来匹配和提取网页中的特定信息,如URL、电话号码、邮箱地址等。正则表达式通过预定义的模式匹配规则,可以高效地从大量文本中找到我们需要的数据。 CSV(Comma-...

    IOS高访新浪微博界面(处理@#链接 特殊字符 )

    可以使用正则表达式来匹配这些模式。例如,我们可以用`NSRegularExpression`类来查找所有@后面跟随的用户名(通常直到空格或标点符号),以及#后面跟随的话题标签。解析完成后,这些链接应被替换为可点击的元素。 2...

Global site tag (gtag.js) - Google Analytics