首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >检测字符串的大小写并将其应用于PHP中的另一个字符串

检测字符串的大小写并将其应用于PHP中的另一个字符串
EN

Stack Overflow用户
提问于 2011-03-16 20:50:17
回答 2查看 82关注 0票数 0

正如标题所示,我正在尝试检测字符串的大小写,并将相同的格式应用于新字符串。

示例:

Yellow cheese >>>检测到它只是第一个大写的字符>>>将blue cheese更改为Blue cheese

这个是可能的吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-16 21:05:48

您可以尝试:

代码语言:javascript
运行
复制
$ref = 'Yellow cheese';
$str = 'blue cheese';
$ref_words = explode(' ', $ref);
$str_words = explode(' ', $str);
for($i=0; $i<count($ref_words); $i++) {
    if (preg_match('/^[A-Z]/', $ref_words[$i])) {
        $str_words[$i] = ucfirst($str_words[$i]);
    }
}
$res = implode(' ', $str_words);
echo $res,"\n";

输出:

代码语言:javascript
运行
复制
Blue cheese
票数 2
EN

Stack Overflow用户

发布于 2011-03-16 20:59:21

这在某种程度上取决于你需要的算法有多聪明。一个简单的例子可以是这样的:

代码语言:javascript
运行
复制
<?php
$v1 = "Yellow cheese";
$v2 = "blue cheese";
$out = "";
for($i = 0; $i < max(strlen($v1), strlen($v2)); $i++) {
  if($v1[i] === strtoupper($v1[i])) {
    $out .= strtoupper($v2[i]);
  } else {
    $out .= strtolower($v2[i]);
  }
}

这将是非常盲目的,所以

代码语言:javascript
运行
复制
  YelLoW ChEEse
> BluE CHEsSE
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5325488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档