PHP:用字母UPPER / LOWER选择字符串的一部分

时间:2017-04-25 04:07:03

标签: php algorithm

我是PHP的新手,我阻止了一个问题......

我有这个字符串:

$player1 = "Gary PaytonINACTIVE";
$player2 = "Jabari ParkerOUT";

我需要从$player1“INACTIVE”和$player2“OUT”中选择。我开始反转字符串:

$player1 = strrev("Gary PaytonINACTIVE");
$player2 = strrev("Jabari ParkerOUT");
// $player1 = "EVITCANInotyaP yraG"
// $player1 = "TUOrekraP irabaJ"

现在我的想法是选择第一个大写字母,剪切其余字母并以良好的方式返回字母(再次使用strrev()).. 但我不知道如何制作...

所以,问题是:我的想法开始很好吗?或者有一个更好的解决方案来提取INACTIVE和OUT到变量?

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

使用正则表达式/([A-Z]{2,})\b/

试试这个

<?php
$player1 = "Gary PaytonINACTIVE";
$player2 = "Jabari ParkerOUT";

function getUppercase($string){
    preg_match('/([A-Z]{2,})\b/', $string, $matches);
    return $matches[0];
}

echo getUppercase($player1); //INACTIVE
echo '<br>';
echo getUppercase($player2); //OUT

答案 1 :(得分:0)

您也可以使用

$player1 = "Gary PaytonINACTIVE";
$player2 = "Jabari ParkerOUT";

function getValue($value)
{
preg_match_all("/[[:upper:]]+/u", $value, $matches);
    foreach($matches[0] as $match) {
        if(strlen($match) > 2) {
        echo $match;    
        }
    }

}

getValue($player1);
echo '<br/>';
getValue($player2);