用户
 找回密码
 入住 CI 中国社区
搜索
查看: 1269|回复: 2
收起左侧

[版本 3.x] 正则的问题

[复制链接]
发表于 2016-8-11 16:15:51 | 显示全部楼层 |阅读模式
$content = "#tag 这里这些内容 #标签 这里这些内容";//注意有个空格$afcontent = preg_replace('/#(\\w+)/','<a href=$1>$0</a>',$content);

上面这段代码中,能够识别#tag 这个内容,却不能识别#标签 这个内容,我将内容改成

$content = "#标签 这里这些内容";$afcontent = preg_replace('/#(\\w+)/','<a href=$1>$0</a>',$content);


依旧无法识别中文标签的内容,请问这个正则的正确写法是?如果我的标签是中文英文数字合并的,正则又该怎么写呢?

比如
$content = "#tag1 这里这些内容";
$content = "#标签1 这里这些内容";
$content = "#tag标签 这里这些内容";


这个正值该如何写?

发表于 2016-8-11 17:23:38 | 显示全部楼层
不太明白需求!

估计是不明白unicode的处理方法。

试试这个看

$afcontent = preg_replace('/#(\\p{L}+)/u','<a href=$1>$0</a>',$content);
 楼主| 发表于 2016-8-11 17:45:34 | 显示全部楼层
燃雲 发表于 2016-8-11 17:23
不太明白需求!

估计是不明白unicode的处理方法。

需求是只要是在 # 号和后面这个空格后面的内容都是当着一个tag提取出来,类似 twitter 那个 #tag 功能。

本版积分规则