How to remove characters present in first string from the second string in PHP

2 Answers

0 votes
/**
 * Removes all characters from $source that appear
 * in $charsToRemove.
 *
 * Time Complexity: O(n + m)
 * Space Complexity: O(m)
 */
function removeCharacters(string $source, string $charsToRemove): string
{
    $forbidden = [];

    // Build a fast lookup table.
    foreach (str_split($charsToRemove) as $char) {
        $forbidden[$char] = true;
    }

    $result = '';

    foreach (str_split($source) as $char) {
        if (!isset($forbidden[$char])) {
            $result .= $char;
        }
    }

    return $result;
}

$first = 'programming language';
$second = 'rogy';

$result = removeCharacters($second, $first);

echo "First : \"$first\"\n";
echo "Second: \"$second\"\n";
echo "Result: \"$result\"\n";



/*
run:

First : "programming language"
Second: "rogy"
Result: "y"

*/

 



answered Oct 3 by avibootz
0 votes
function removeCharacters(string $source, string $charsToRemove): string
{
    return str_replace(
        str_split($charsToRemove),
        '',
        $source
    );
}

echo removeCharacters('rogy', 'programming language');



/*
run:

y

*/

 



answered Oct 3 by avibootz

Related questions

...