Определите заглавную строку и примените ее к другой строке в PHP - PullRequest
0 голосов
/ 16 марта 2011

Как видно из заголовка, я пытаюсь определить заглавные буквы строки и применить то же форматирование к новой строке.

Пример:
Yellow cheese >>> определить, что это только первый символ с заглавной буквы >>> изменить blue cheese на Blue cheese.

Возможно ли это?

Ответы [ 2 ]

3 голосов
/ 16 марта 2011

Вид зависит от того, насколько умным вам должен быть алгоритм. Простой может быть просто что-то вроде:

<?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]);
  }
}

Это будет делать это очень слепо, поэтому

  YelLoW ChEEse
> BluE CHEsSE
2 голосов
/ 16 марта 2011

Вы можете попробовать:

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

выход:

Blue cheese
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...