Я хотел бы удалить любой зарезервированный символ Windows из моей строки. Я должен удалить эти символы:
\,/,:,*,?,",<,>,|, and spaces
Как удалить эти символы?
Пример:
$string = "21/002-4/ASG* -47";
Результат:
"21002-4ASG-47"
Для имени файла?
Я не знаю PHP, но он похож на Perl. В Perl это может привести вас на правильный путь: $x = "23*23;jh:k>m"; $y=($x =~ y/\\/:*?"<>//dr). $y удалит все символы из списка $x.
У меня есть текст, содержащий эти символы. Я хотел бы удалить их.
Мы сможем указать вам правильное направление, если вы немного объясните, для чего вы это используете. Есть много путей в Рим, но все они разные.
Я хотел бы использовать preg_replace. Посмотреть изменить
И str_replace(), и preg_replace() являются возможными решениями.
теперь у вас есть 2 ответа, вы проверили?






$string = "21/002-4/ASG* -47";
$new = preg_replace('/[\/\:\*\?\"<>\|\s]+/', '', $string);
echo $new;
сделает свое дело, вот живой пример:
https://www.phpliveregex.com/p/rmB
у него ошибка. Сообщение: preg_replace(): Неизвестный модификатор ':'
Вы также можете получить результат с шаблоном '/[^A-Za-z0-9\-]/', используя preg_replace()
$string='21/002-4/ASG* -47';
echo preg_replace('/[^A-Za-z0-9\-]/', '', $string);
Результат:
21002-4ASG-47
Согласно вашему комментарию, если вы хотите удалить только определенные символы (определенные), то str_replace - другое решение. Еще одна вещь str_replace быстрее, чем preg_replace().
$string='21/002-4/ASG* -47'; // your string
$char = array('/','*',' '); // defined all characters which need to be removed
echo str_replace($char, "", $string); // result should be 21002-4ASG-47
это удалить все специальные символы? Я хочу удалить зарезервированный символ только из окон и пробелов.
в соответствии с вашим ожидаемым результатом он удалит все специальные символы @ashura91
да. это стало моим ожидаемым результатом. Но я не хочу удалять все специальные символы, только определенные символы
для конкретного вы можете использовать str_replace. @ashura91
@ashura91: проверьте пример с обновленным ответом str_replace
str_replace()это один из способов. Чего вы пытаетесь достичь здесь? Возможно есть лучшие альтернативы.