Мне нужно заменить все в строке, которая не является словом, пробелом, запятой, периодом, вопросительным знаком, восклицательным знаком, звездочкой или '
. Я пытаюсь сделать это с помощью preg_replace, но не получить правильные результаты:Использование preg_replace не работает должным образом
$string = "i don't know if i can do this,.?!*[email protected]#$%^&()_+123|";
preg_replace("~(?![\w\s]+|[\,\.\?\!\*]+|'|)~", "", $string);
echo $string;
Результат:.?
я не знаю, если я могу это сделать, !! * @ # $%^&() _ + 123 |
нужны Результат:
я не знаю, если я могу это сделать, *
Первый вариант лучше, и более аккуратный. – frosty