You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PHP中移除星号包裹字符串内photo后的数字?

PHP实现星号包裹的photo数字替换方案

核心思路

用正则表达式精准匹配*photo[1个或多个数字]*的格式,通过preg_replace统一替换为*photo*,结合你已使用的file_get_contents完成文件读取与修改流程。

完整代码示例

<?php
// 目标文件路径,替换为你的实际文件路径
$filePath = 'target-file.txt';

// 读取文件内容,同时处理读取失败场景
$content = file_get_contents($filePath);
if ($content === false) {
    die('无法读取目标文件,请检查路径或文件权限');
}

// 执行正则替换:匹配*photo数字*格式,统一替换为*photo*
$modifiedContent = preg_replace('/\*photo\d+\*/', '*photo*', $content);

// 可选:将修改后的内容写回原文件
$writeResult = file_put_contents($filePath, $modifiedContent);
if ($writeResult === false) {
    die('无法写入文件,请检查文件写入权限');
}

echo '替换操作完成!';
?>

正则表达式说明

  • \*:转义星号(星号在正则中属于特殊字符,必须转义才能匹配字面意义的星号)
  • photo:匹配固定文本"photo"
  • \d+:匹配1个或多个连续数字(\d代表单个数字,+表示至少出现一次)
  • 整个表达式/\*photo\d+\*/会精准命中所有*photo1*、*photo123*这类格式的内容,不会误匹配*photox*这类非数字后缀的内容

注意事项

  • 若文件采用UTF-8以外的编码,建议在读写时指定编码参数,避免出现乱码问题
  • 替换前建议备份原文件,防止意外操作导致数据丢失

内容的提问来源于stack exchange,提问作者Mfoto94

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 15:07:04