messmaker
6.12.2009, 17:19:00
Witam,
Poszukuję funkcji, która z abc[]def^*)123 zrobi abcdef123 czyli prosto mówiąc pozbawi ciąg znaków wszystkiego, co nie jest literą lub cyfrą.
Szukanie zakończyło się znalezieniem co najwyżej funkcji preg_match() zwracającej true jeśli dany string składał się wyłącznie z liter i cyfr i false jeśli nie, a to tylko połowa sukcesu.
Będę wdzięczny za każdą pomoc, mam nadzieję, że obejdzie się bez funkcji sprawdzającej po kolei każdy znak.
Pozdrawiam
piaseq
6.12.2009, 17:37:04
Moim zdaniem preg_replace() pasuje idealnie.
pierwszy z brzegu skrypt (napewno jest lepsza metoda

<?php
function czysc($str) {
for($i = 0; $i < strlen($str); $i++) { $str2 .= $str[$i];
}
}
return $str2;
}
$string = 'abc[]def^*)123';
?>
jasin
6.12.2009, 17:46:30
Jeden ze sposobów:
$subject = "abc[]def^*)123";
$pattern = '/[A-Za-z0-9]/';
Wicepsik
6.12.2009, 18:07:51
$tekst = 'abc[]def^*)123';
Proszę, mniej kodu, lepszy w edycji.