jaki sposób można analizować ciąg, aby usunąć wszystkie znaki spoza języka angielskiego w phpusunięcia nie angielskich znaków PHP
teraz chcę usunąć rzeczy jak
სოფო ნი
Dzięki :)
jaki sposób można analizować ciąg, aby usunąć wszystkie znaki spoza języka angielskiego w phpusunięcia nie angielskich znaków PHP
teraz chcę usunąć rzeczy jak
სოფო ნი
Dzięki :)
korzystając preg_replace()
$string = "some სოფო text";
$string = preg_replace('/[^a-z0-9_ ]/i', '', $string);
echo $string;
przyznane, będziesz musiał rozwinąć wzór preg_replace, ale jest to jeden sposób, aby to zrobić. Prawdopodobnie jest lepszy sposób, po prostu o tym nie wiem.
użyć tego kodu:
$illegalChars = array("",);
$string = str_replace($illegalChars,"",$string);
echo $string;
musiałbyś porównać ze wszystkimi nie angielskimi znakami. –
Zwykle stosowałbym podejście "białą listę", a nie "czarną listę". To znaczy, chciałbym, aby rutyna identyfikowała znaki, które powinny być przechowywane, te znaki, które _ARE_ "angielskie znaki" i eliminuje resztę, zamiast próbować zidentyfikować znaki, które powinny zostać usunięte. – spencer7593
Najlepszym rozwiązaniem byłoby przy użyciu iconv
, która zamienia ciągi do żądanej kodowania znaków.
iconv('UTF-8', 'ASCII//TRANSLIT', $yourtext);
z //translit
uzyskać znaczącą przemianę ASCII (np SS -> SS). Używanie // IGNORE spowoduje całkowite usunięcie znaków spoza zestawu ASCII.
iconv('UTF-8', 'ASCII//IGNORE', $yourtext);
Zakładam, że oznaczać niełacińskie/rzymskie znaki alfabetu. –
Tak, przepraszam, to właśnie miałem na myśli –