★★★求助PHP正则表达式的字符替换 用于伪静态标题的URL

<?phpfunctionfile_vname($name){returnstr_replace(array('\\','/',':','*','?','"','<','... <?php
function file_vname($name) {
return str_replace(array('\\', '/', ':', '*', '?', '"', '<', '>', '|', ' ', "'", '$', '&', '%', '#', '@', '.', ',', '、', ',', ' '), array('', '', '', '', '', '', '', '', '', '-', '', '', '', '', '', '', '', '', '-', '-'), $name);
} ?>
因为是要替换文章标题中的非英文和数字以外的字符,str_replace函数效果不好,谁能帮我写个正则来替换过滤,以上代码中$name是文章标题文字,我是要伪静态按标题转成URL,现在只剩这个字符过滤替换问题了。

比如某个文章标题:Today 3℃, very cold
我希望用正则后是:today-3-very-cold.php
需要注意的是,文章标题($name)只要包含了非英文和数字的字符都替换为空,但是空格却需要替换成-,而且英文全部转化小写。

有点困难,希望朋友们能帮帮我,再此跪写了,请在写正则句子时,帮助加入$name,他是文章标题的字段。
没人帮助下嘛,,,
展开
 我来答
Phper
2010-12-12 · TA获得超过1210个赞
知道小有建树答主
回答量:625
采纳率:0%
帮助的人:677万
展开全部
$str = "Today 3℃, very cold";
$str = strtolower(preg_replace("/([^a-zA-Z0-9]*\s+)/","-",$str)).'.php';
echo $str; //today-3-very-cold.php
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式