PHP: удалить символ строки, найденный в другой строке - PullRequest
2 голосов
/ 27 июля 2010

Я пытаюсь сравнить две строки и удалить все символы, которые появляются во второй строке. Например:

$stringA="abcdefg" ;
$stringB="ayfcghifh" ;

Я хочу, чтобы stringB было "yhih". Есть ли способы сделать это? Спасибо за помощь ...

Ответы [ 3 ]

6 голосов
/ 27 июля 2010
str_replace(str_split($stringA),'',$stringB);
3 голосов
/ 27 июля 2010

echo ereg_replace ("[". $ StringA. "]", "", $ StringB);

будет удобным способом сделать это.


Или используяpreg_replace ()

$stringB = preg_replace('/[' . preg_quote($stringA, '/') . ']/', '', $stringB);

В качестве дополнительного преимущества вы можете иметь регистронезависимость с модификатором / i и поддержку Unicode с /u.

2 голосов
/ 27 июля 2010

Вы можете использовать несколько игл в str_replace() для удаления каждого символа из $stringA.Предполагая, что мы говорим об однобайтовой кодировке, вы можете использовать str_split() для разделения каждого символа, что дает вам:

$stringB = str_replace(str_split($stringA, 1), '', $stringB)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...