Я получаю строки из базы данных, а затем используя строки для создания URL-адреса. Моя проблема заключается в том, что некоторые строки будут содержать символы, такие как <> & {} * общие специальные символы, но строка также может содержать строки. Как бы заменить пробелы черточками и полностью удалить и специальные символы из строк?PHP - манипуляция строками удаляет символьные символы и заменяет пробелы
ответ
С str_replace
:
$str = str_replace(array(' ', '<', '>', '&', '{', '}', '*'), array('-'), $str);
Примечание:
Если заменить имеет меньше значения, чем поиск, то пустая строка используется для остальных значений замены.
Хранить только буквы и цифры в строке с помощью preg_replace
:
$string = preg_replace('/[^a-zA-Z0-9-]/', '', $string);
Вы можете использовать str_replace
заменить пространство -
$string = str_replace (" ", "-", $string);
Посмотрите на следующей статье:
Iff вы предполагаете, что за пределами A-Z нет алфавитных символов, это сработает; в зависимости от ваших обстоятельств, это может быть или не быть слишком наивным предположением. – Piskvor
str_replace(' ','-',$string);
буквенно-цифровой:
$output = preg_replace("/[^A-Za-z0-9]/","",$input);
если вы хотите сохранить символы:
htmlspecialchars($string);
1) Заменить диакритические с Iconv
2) Заменить удобство письма символов с пустой строкой
3) Заменить пробела с тиром
4) Обрезать строку для тира символов (вы также можете обрезать строку до того, манипуляции)
Например, если вы используете UTF-8 кодировке:
setlocale(LC_ALL, 'fr_CA.utf8');
$str = "%#dŝdèàâ.,d s#$4.sèdf;21df";
$str = iconv("UTF-8", "ASCII//TRANSLIT", $str); // "%#dsdeaa.,d s#$4.sedf;21df"
$str = preg_replace("`[^\w]+`", "", $str); // "dsdeaad s4sedf21df"
$str = str_replace(" ", "-", $str); // "dsdeaad-s4sedf21df"
$str = trim($str, '-'); // "dsdeaad-s4sedf21df"
- 1. Scala RDD манипуляция строками
- 2. Javascript заменяет специальные символы пустыми строками
- 3. PHP быстро заменяет символы?
- 4. PHP заменяет пробелы с подчеркиваниями
- 5. IE удаляет пробелы и возвращает ошибки php
- 6. TextBox заменяет неверные символы
- 7. MySql заменяет пробелы дефисом
- 8. Java удаляет ненужные пробелы в текстовом файле и заменяет на символ
- 9. Ajax заменяет пробелы +
- 10. RegEx заменяет пробелы слешем
- 11. Почему препроцессор различает числовые и символьные символы?
- 12. PHP удаляет символы из строки
- 13. Соответствие шаблону и манипуляция строками в R
- 14. Java: ArrayList, манипуляция строками и анализ
- 15. regex удаляет все символы
- 16. iOS - Символьные символы трассировки стека
- 17. SolidWorks 2013 Макро - манипуляция строками?
- 18. PHP заменяет и/или удаляет байты из текстового файла
- 19. PHP не удаляет пробелы из массивов
- 20. PHP регулярное выражение удаляет все не буквенно-цифровые и космические символы из строки
- 21. PHP заменяет символы, кроме HTML-тегов
- 22. Excel заменяет символы как символы
- 23. PHP и это манипуляция
- 24. PHP заменяет символы «,» в строковом номере на «.».
- 25. Сплит и пробелы PHP
- 26. Заменить пробелы между строками
- 27. Удаляет пробелы из строки
- 28. std :: getline удаляет пробелы?
- 29. $ {file%/*} заменяет пробелы символом подчеркивания
- 30. Emacs заменяет пробелы на вкладки
Это может быть проще в использовании UrlEncode(). Это делает строку безопасной для использования в URL-адресах. – mellowsoon