我有这样的字符串(在PHP中):
5SGs_FreeDVD_StaticBlock_v2.jpg
30SecondPreview_FLV-600.flv
All Over The World_Click+Countoff_Preview.mp3我想用这些字符串结束:
SGs FreeDVD StaticBlock v2
Second Preview FLV 600
All Over The World Click Countoff Preview下面是我分析的几条规则:
5和30)。.jpg、.flv和.mp3)_、-和+ )。我不熟悉PHP,也不知道在这种操作中应该使用哪种类型的函数。
你会怎么做?
发布于 2014-01-14 18:42:00
在以下三个步骤中这样做可能更容易(也更干净):
// remove leading numbers
$str = preg_replace('/^\d+/m', '', $str);
// remove file extensions
$str = preg_replace('/\.(jpg|flv|mp3)/', '', $ret);
// replace special characters
$str = preg_replace('/[[:punct:]]/', ' ', $ret);输出:
SGs FreeDVD StaticBlock v2
SecondPreview FLV 600
All Over The World Click Countoff Preview发布于 2014-01-14 18:43:06
preg_replace()是您需要的函数。像这样的东西会起作用:
$mystring = preg_replace( array( '/^\d+/', '/\.[a-z0-9]+$/', '/[^a-z0-9]/'),
array('', '', ' '),
$mystring);我传递一个包含三个部分的数组:(1)前导数字,(2)一个文字.,后面跟着数字或字母,然后是字符串的结尾,(3)非字母数字字符的捕获-所有。它们被(1)无,(2)空,(3)空取代。
发布于 2014-01-14 18:47:47
preg_replace('/\.[a-zA-Z0-9]+$|^[0-9]+/', '', $string);
preg_replace('/[+_-]+/', ' ', $string);https://stackoverflow.com/questions/21121338
复制相似问题