function getPalindrome($str)
{
    if (strlen($str) == 1 || strlen($str) == 0) {
        return "is PALINDROME";
    } else {
        if (substr($str, 0, 1) == substr($str, strlen($str) - 1, 1)) {
            return getPalindrome(substr($str, 1, strlen($str) - 2));
        } else {
            return "is not a PALINDROME!";
        }
    }
}
function getPalindrome($str)
{
    if (strlen($str) == 1 || strlen($str) == 0) {
        return true;
    } else {
        if (substr($str, 0, 1) == substr($str, strlen($str) - 1, 1)) {
            return getPalindrome(substr($str, 1, strlen($str) - 2));
        } else {
            return false;
        }
    }
}
예제 #3
0
 * Возвращает палиндром максимальной длинны или первый символ строки, если палиндром не найден
 * @param $str Строка для провреки
 * @return string
 */
function getPalindrome($str)
{
    if (isPalindrome($str)) {
        return $str;
    }
    $palLen = 1;
    $palText = mb_substr($str, 0, 1, "UTF-8");
    $stLen = mb_strlen($str, "UTF-8");
    for ($i = 0; $i < $stLen; $i++) {
        for ($j = $i + 1; $j <= $stLen - 1; $j++) {
            $part = trim(mb_substr($str, $i, $j - $i + 1, "UTF-8"));
            $partLen = isPalindrome($part);
            if ($partLen > $palLen) {
                $palLen = $partLen;
                $palText = $part;
            }
        }
    }
    return $palText;
}
assert_options(ASSERT_ACTIVE, 1);
assert(getPalindrome("Аргентина манит негра") == "Аргентина манит негра");
assert(getPalindrome("Аргентина ммнит негра") == "мм");
assert(getPalindrome("Sum summus mus") == "Sum summus mus");
assert(getPalindrome("Abc dfeg jk") == "A");
echo getPalindrome("Sum summus mus");