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

如何在PHP中实现Perl的tr/a-zA-Z/h-za-gH-ZA-G/字符替换功能?

Perl tr 字符替换的PHP等效实现

Perl里的$pw =~ tr/a-zA-Z/h-za-gH-ZA-G/是固定偏移的字符替换规则:

  • 小写字母:a-g 替换为 h-z,h-z 替换为 a-g
  • 大写字母:A-G 替换为 H-Z,H-Z 替换为 A-G

PHP里可以直接用strtr()函数实现完全等效的功能,不需要手动编写冗长的映射数组,写法思路和Perl的tr保持一致:

$originalPassword = "ExamplePassword123";
// 定义源字符集和对应替换的目标字符集
$sourceChars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$targetChars = 'hijklmnopqrstuvwxyzabcdefgHIJKLMNOPQRSTUVWXYZABCDEFG';

// 执行替换
$encodedPassword = strtr($originalPassword, $sourceChars, $targetChars);

补充说明

  • strtr()会严格按照两个字符参数的位置一一对应替换,和Perl tr的行为完全匹配
  • 如果需要解码加密后的密码,只需将$sourceChars和$targetChars的位置互换即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 18:04:52