В общем
$str = "as < ' s & > \" "; //Есть строка
$pattern = array('/"/', '/&/', '/</', '/>/', "/'/"); //Нужно заменить эти символы
$replacement = array('"', '&', '<', '>', '&apos' ); //На эти
echo $str . '<br>';
$str = preg_replace($pattern, $replacement, $str);
echo $str;
Но на выходе получаю:
as < ' s & > "
1as < &apos s & > "
Т.е. некоторые символы преобразовываются нормально, а некоторые почему то пропускаются. Подскажите в чем моя ошибка?