How to find the position and first different character between two multibyte strings in PHP

1 Answer

0 votes
<!DOCTYPE html>
<html lang="he">
    <head>
        <meta charset="utf-8">
    </head>

    <body>
        <?php

        function get_first_different_character($s1, $s2, $encoding = 'UTF-8') {
            return mb_strlen(
                    mb_strcut($s1, 0, strspn($s1 ^ $s2, "\0"), $encoding), $encoding
            );
        }

        $s1 = 'פיתוח אפליקציה';
        $s2 = 'פיתוח תוכנה';

        $pos = get_first_different_character($s1, $s2);

        echo "position $pos: characters: " . mb_substr($s1, $pos, 1) . " " . 
                                                       mb_substr($s2, $pos, 1);


        /*
          run:

          position 6: characters: א ת 

         */
        ?>

    </body>
</html>

 



answered Mar 16, 2019 by avibootz
...