Zamierzam zastąpić wszystkie znaki w ciągu znaków z wyjątkiem liter, cyfr, spacji i podkreśleń.Zastąp wszystkie znaki z wyjątkiem liter, cyfr, spacji i podkreśleń.
Czy ktoś mógłby podać przykład?
Zamierzam zastąpić wszystkie znaki w ciągu znaków z wyjątkiem liter, cyfr, spacji i podkreśleń.Zastąp wszystkie znaki z wyjątkiem liter, cyfr, spacji i podkreśleń.
Czy ktoś mógłby podać przykład?
normalnie używać coś takiego:
$string = preg_replace("/[^ \w]+/", "", $string);
który zastępuje wszystkie znaki nie-przestrzeni i bez słów z niczym.
powinieneś używać pojedynczych cudzysłowów dla wyrażeń regularnych w PHP 'preg_replace ('/ [^ \ w] + /', '', $ string)' podwójne cytaty z \ w nich mogą spowodować nieoczekiwane zachowanie – DarkMukke
<?php
$string = 'April 15, 2003';
$pattern = '/[^\w ]+/';
$replacement = '';
echo preg_replace($pattern, $replacement, $string);
?>
[^0-9a-zA-Z_\s]
co chcesz zastąpić.
Ten pomógł mi na podobnym kwestia. Dzięki! (Dla innych czytających to, nie zapomnijcie zawinąć tego w ukośne w ten sposób: '$ new_string = preg_replace ('/ [^ 0-9a-zA-Z _] /'," ", $ old_string)' Wyjąłem \ s, ponieważ nie musiałem zezwalać na spacje. – TecBrat
'\ s' nie oznacza przestrzeni zawsze ... –
Jakie przykłady okazało się, że nie działają? Jak nie działają? – BoltClock
Zastąp je czym? –
Dodam również, że do wszelkiego rodzaju manipulacji ciągami, pomaga uzyskać właściwą odpowiedź, jeśli podasz konkretny przykład lub dwa z tego, co zrobiłbyś w manipulacji i co chciałbyś wyjść z manipulacji. . – EBGreen