【问题标题】:PHP Case-insensitive equivalent of strtrPHP 不区分大小写的 strtr 等价物
【发布时间】:2011-11-23 15:59:51
【问题描述】:

在哪里可以找到strtr 的不区分大小写版本?

strtr超载了,我说的是下面这个

string strtr ( string $str , array $replace_pairs )

【问题讨论】:

  • @c69,再读一遍函数名。这是strtr,而不是strstr
  • @binaryLV 该死的 php 和它的函数名 >_
  • @c69,不仅仅是 PHP。 C 标准库也有很棒的函数名称。看看string.h (strcspn()?!),例如;)

标签: php arrays case-insensitive strtr


【解决方案1】:

使用str_ireplace:

str_ireplace(array_keys($replace_pairs), array_values($replace_pairs), $str);

【讨论】:

  • 工作(几乎)完美!唯一的小问题是大写字符变成了小写......但我想我可以忍受。
  • str_ireplace(array('A'), array('Z'), "ABcd") 返回ZBcd,它不会改变输入字符串的大小写。
  • str_ireplace(array('a'),array('z'), 'ABcd');有;)
  • 显然,它会替换为您告诉他替换的内容;) 改为 str_replace(array('a','A'),array('z','Z'), 'ABcd');
  • 是的,我知道。但是,我不知道要处理的字符串。如果我想替换一整套单词,我应该生成小写/大写字符的所有组合?想象一下只有三个字母的 1 个单词:bob、boB、bOb、bOB、Bob、BoB、BOb、BOB。问题是我有 n 个不同长度的单词。生成所有可能的组合只是为了保留案例似乎是一个很大的开销。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-10-19
  • 1970-01-01
  • 2012-12-01
  • 2013-03-06
  • 2020-02-18
  • 1970-01-01
  • 2012-04-18
相关资源
最近更新 更多