#php
#php
Вопрос:
Я хотел бы удалить любой зарезервированный символ Windows из моей строки. Я должен удалить эти символы :
,/,:,*,?,",<,>,|, and spaces
Как мне удалить эти символы?
Пример:
$string = "21/002-4/ASG* -47";
Результат:
"21002-4ASG-47"
Комментарии:
1.
str_replace()
это один из способов. Чего вы пытаетесь здесь достичь? Могут быть лучшие альтернативы.2. Для имени файла?
3. Я не знаю PHP, но он кажется похожим на Perl. В Perl это может привести вас на правильный путь:
$x="23*23;jh:k>m"; $y=($x =~ y/\/:*?"<>//dr)
.$y
будут удалены все символы из$x
списка.4. У меня есть текст, содержащий эти символы. Я бы хотел их удалить.
5. Мы сможем направить вас в правильном направлении, если вы немного объясните, для чего вы это используете. Есть много способов удалить Рим, но все они разные.
Ответ №1:
$string = "21/002-4/ASG* -47";
$new = preg_replace('/[\/:*?"<>|s] /', '', $string);
echo $new;
поможет, вот живой пример:
Комментарии:
1. у него ошибка. Сообщение: preg_replace(): неизвестный модификатор ‘:’
Ответ №2:
Вы также можете получить результат с '/[^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()
.
Пример с str_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
Комментарии:
1. это удаляет все специальные символы? Я только хочу удалить зарезервированный символ из Windows и пробелов
2. в соответствии с вашим ожидаемым результатом, он удалит все специальные символы @ashura91
3. ДА. это стало моим ожидаемым результатом. Но я не хочу удалять все специальные символы, только определенный символ
4. в частности, вы можете использовать str_replace . @ashura91
5. @ashura91: проверьте пример с обновленным str_replace в ответе