str_replace。替换字符串中的数字

发布于 2024-12-07 20:29:52 字数 474 浏览 0 评论 0原文

大家好,我这里有这段代码,

$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

它是“-”之前的数字我需要离开 这可以做到吗?

谢谢

HI all I have this code here

$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);

Everything works fine with the above but I also need it to replace some numbers at the start of the files I am adding

example of a file would be

247991 - my_small_house.jpg

its the numbers before the "-" I need gone
Can this be done?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

寻找一个思念的角度 2024-12-14 20:29:52

您可以将正则表达式与 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 */

You can use a regex with preg_replace() or preg_split(), but I think explode() would be better:

$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 */
ぺ禁宫浮华殁 2024-12-14 20:29:52

您要删除的号码是由固定位数组成的吗?
如果是这样,你可以这样做:

$tags = substr($tags, 9);

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

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

Is the number you have to delete made of a fixed number of digits?
If so, you could just do:

$tags = substr($tags, 9);

Else, if you're sure that every number ends with " - ", you could do:

$tags = substr($tags, strrpos($tags," - ") + 3);
街角卖回忆 2024-12-14 20:29:52

试试这个:

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

Try this:

preg_replace('/^[0-9]+(.+)/', '$1', $tags);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文