由于网站的文章都是用标签,就像新浪博客一样,最终这些标签都要写入数据库,都要运用数组。
无论怎样告诉用户用半角,都会有用全角分隔的情况,你可以测试一下新浪博客,全角空格就不能够被识别。
为了能够正确识别全角空格、中文空格、全角逗号、连续空格在网上找了好所正则表达式,效果都不理想,而自己对正则表达式又是一知半解,于是把网上找到的表达式拿过来,稍作修改,综合到一起,形成了下面得函数,虽然写的很笨拙,但却是有效的。
简要说明:1、转换全角空格为半角空格,
2、后过滤首尾空格,3、去除连续空格,4、替换全角逗号,5、用半角逗号替换空格
这样处理后的字符串就很容易变成数组,写入数据库了。
function maktag($tags)
{
$t1 = preg_replace('/\s(?=\s)/', '', $tags);
$t2 = trim(preg_replace("/ +/", " ", $t1));
$t3 = preg_replace('/\s(?=\s)/', '', $t2);
$t4 = preg_replace('/,+/',',',$t3);
$t5 = preg_replace('/( | )/i',',',$t4);
return $t5;
}
有谁愿意指点一下,写个简洁的代码,不胜感激!欢迎光临小站伤感酒吧!