php实现微博话题 功能,PHP实现微博的@好友和话题功能

$post_content = "@jb哈哈:51和@twitter@在研究用#P H        P#的#正则表达式#过   滤话题和对象名";

// 过滤多空格,转化HTML代码

$post_content = preg_replace(['/(\s+)/', '/@/', '/', '/>/'], [' ', ' @', '<', '>'], $post_content);

// 标签正则

$tag_pattern = "/\#([^\#|.]+)\#/";

// 用户正则

$user_pattern = "/@([^\r\n]*?)[:|:|,|,|#|\s]/i";

// 提取用户

preg_match_all($user_pattern, $post_content, $userArr);

// 处理用户

$test = $re = [];

foreach ($userArr[1] as $key => $user) {

if (strlen($user) 

$test[] = "/@{$user}/";

$re[] = "@{$user}";

}

}

// 处理正文

$post_content = preg_replace($test, $re, $post_content);

$post_content = preg_replace($tag_pattern, '#${1}#', $post_content, 1);

// 输出

echo trim($post_content);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值