[PHP] funkcja wybierająca litery z stringa

0

czy istnieje wbudowana funkcja php która z wprowadzonego do textarea stringu usunie wszystkie znaki które nie są literami
chodzi o oczyszczenie tekstu w celu wprowadzenia samych słów do bazy

0
$s=preg_replace('#[^a-z]*#gi','',$s);
0
nav napisał(a)
$s=preg_replace('#[^a-z]*#gi','',$s);

wielkie dzięki o to chodziło
tylko #gi wyrzucało błąd ale jak zlikwidowałem g to wszystko gra.

jeszcze tylko moje 3 grosze

$s=preg_replace('#[^a-z|\s]*#i','',$s;

powyższy kod uwzględnia spacje, czyli zamiast ciągu liter mamy oddzielne słowa które następnie możemy wprowadzić do bazy.

dziękuje za pomoc

0

Raczej

$s=preg_replace('#[^a-z\s]*#i','',$s);

Chyba że chcesz aby znak | też został.

0

wszystko fajnie tylko są jeszcze dwa problemy,
pierwszy. polskie znaki zostają odrzucone.
drugi. skrypt wykorzystuje funkcje php explode która wybiera kolejno słowa w celu umieszczenia ich w bazie
tylko jest jeden problem jeśli są dwie spacje np. to funkcja explode traktuje tą drugą spacje jak słowo i umieszcza w słowniku.
znacząca częśc tego skryptu wygląda następująco:

// rozbijanie tekstu na zdania
$sentChunks = explode(".", $orgString);
for($i = 0; $i < count($sentChunks)-1; $i++){
	$sentChunks[$i]=preg_replace('#[^a-z|\s]*#i','',$sentChunks[$i]);
	echo "zdanie $i<br />";
//rozbijanie zdania na slowa
	$wordChunks = explode(" ", trim($sentChunks[$i]));
	for($j = 0; $j < count($wordChunks); $j++){
		echo "$j $wordChunks[$j]";
		$rezultat=mysql_query("SELECT slowoPL FROM plslowo WHERE slowoPL = '$wordChunks[$j]'");
		if(@mysql_num_rows($rezultat)){
	//słowo istnieje w bazie dodaj wystąpienia
		echo " - instnieje";
		mysql_query("UPDATE plslowo SET wystapien = wystapien +1 WHERE slowoPL = '$wordChunks[$j]'");
		}
		else
		{
	//slowo nie istnieje w bazie dodaj slowo
		echo " - nie istnieje ";
		mysql_query("INSERT INTO plslowo (slowoPL, wystapien) VALUES ('$wordChunks[$j]','1')") or die ('Zapytanie zakończone niepowodzeniem: ' . mysql_error());
		}

czy ktoś ma pomysł jak wykonać to tak żeby do bazy trafiały słowa z polskimi znakami, pomijając spacje, a jeśli jest taka możliwość, usuwać też słowa które nie są słowami języka polskiego czy angielskiego bo o takie teksty chodzi, wiem że jest funkcja aspell która sprawdza poprawność słowa, ale ciężko znaleźć serwer gdzie ta funkcja jest zaimplementowana więc czy są jakieś inne sposoby ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1