Preg_match ise "00" {sayı} veya "+" {sayı} ile bir dize beginns

2 Cevap php

Ben bir dize 00 veya + ile başlar olmadığını test etmek gerekir.

pseudocode:

Say I have the string **0090** or **+41** 
if the string begins with **0090** return true,  
elseif string begins  with **+90** replace the **+** with **00**  
else return false

The last two digits can be from 0-9.
How do I do that in php?

2 Cevap

Sen deneyebilirsiniz:

function check(&$input) { // takes the input by reference.
    if(preg_match('#^00\d{2}#',$input)) { // input begins with "00"
        return true;
    } elseif(preg_match('#^\+\d{2}#',$input)) { // input begins with "+"
        $input = preg_replace('#^\+#','00',$input); // replace + with 00.
        return true;
    }else {
        return false;
    }
}
if (substr($str, 0, 2) === '00')
{
    return true;
}
elseif ($str[0] === '+')
{
    $str = '00'.substr($str, 1);
    return true;
}
else
{
    return false;
}

$ Str bir referans olmadıkça orta durum olsa bir şey yapmayacağım.