PHP: equal_beginning ()
Код тут . Функція подібно similar_text () порівнює два рядки і якщо вони однаково починаються, видає довжину однакового фрагмента в символах. І також як в similar_text можна передати необов'язковий параметр $ percent, в якому буде відсоткова схожість цих двох рядків (округлюється до цілого).
Важливо! Не завжди умолчальне кодування бібліотеки mb_string стоїть у UTF-8, тому для правильної роботи функцій з цієї бібліотеки має сенс на початку скрипта встановлювати кодування такий рядком: mb_internal_encoding ('UTF-8');
З'ясувалося, що у функції є баг, виявляється з деякими словами. Загадка для програмістів: приведіть в приклад пару слів, які функція некоректно обробляє і поясніть чому це відбувається.
Виробив рефакторінг:) Тепер з усіма словами відмінно має працювати, і не використовується перетворення рядків у масиви. Функція стала простіше і ефективніше. Викладати поки не буду, розімніть мозок.
Віталій у коментарях вірно помітив слабке місце першої безглуздій функції, так що загадка вже неактуальна. Ось новий варіант - http://pastie.org/1891195 . Працює як треба.
Опубліковано: 11/05/11 @ 08:53
Розділ php
Рекомендуємо:
Генератор ників на вашому сайті
Змушений спростовувати наклеп (нолікс замість Daos)
Вінчі - магазинчик для продажу файлів
Конкурс-марафон «Продам слона»
Інтерв'ю - Олег Михайленко, веб-дизайнер, автор сайту mykhailenko.com