str_replace函数。从字符串中替换数字

时间:2011-09-30 15:26:23

标签: php replace str-replace

我所有的代码都在这里

$pathinfo = pathinfo($fullpath);
$tags = $shortpath;
$tags = str_replace("/", " ", $tags);
$tags = str_replace("__", " ", $tags);
$tags = str_replace(".png", "", $tags);
$tags = str_replace(".jpg", "", $tags);
$tags = str_replace(".jpeg", "", $tags);
$tags = str_replace(".gif", "", $tags);

上面的一切都运行正常,但我还需要在我添加的文件的开头替换一些数字

文件的例子是

247991 - my_small_house.jpg

它在“ - ”之前的数字我需要消失 可以这样做吗?

由于

3 个答案:

答案 0 :(得分:2)

你可以使用带有preg_replace()或preg_split()的正则表达式,但我认为explode()会更好:

$chunks = explode('-',$shortpath);  // you just keep the part after the dash
$tags = str_replace(array('/','__'),' ', $chunks[1]);
$tags = str_replace(array('.png','.jpg','.jpeg','.gif'),'',$tags);
/* used array to avoid code repetition */

答案 1 :(得分:1)

您必须删除的号码是否由固定数字组成? 如果是这样,你可以这样做:

$tags = substr($tags, 9);

否则,如果你确定每个数字都以“ - ”结尾,你可以这样做:

$tags = substr($tags, strrpos($tags," - ") + 3);

答案 2 :(得分:0)

试试这个:

preg_replace('/^[0-9]+(.+)/', '$1', $tags);