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; } } }
* Возвращает палиндром максимальной длинны или первый символ строки, если палиндром не найден * @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");