Jak usunąć znaki końca linii, PHP Skrypty


[PHP] Jak usunąć znaki końca linii, podwójne spacje, inne znaki?

0x01 graphic

Chcesz pozbyć się ze zdania lub wyrazu wszelkich zbędnych znaków, jak podwójne spacje, znaki końca linii, tabulacje, spacje na początku lub końcu. Często ludzie na forach dyskusyjnych lub podczas zapisywania się na prenumeratę dodają wiele niepotrzebnych znaków, które trzeba skasować. Problem pojawia się też po odczytaniu danych z pliku tekstowego lub formularza, który zawiera znaki końca linii.

0x01 graphic

Nie zawsze trzeba usuwać wszystkie wymienione znaki, ale jeżeli program ma być kompletny lepiej zabezpieczyć się przed wszystkimi możliwościami. Oto gotowy kod programu:

<?

$p = " zdanie z dużą ilością spacji

i znakiem końca linii ";

$p=ereg_replace("\t"," ",$p); //znaki tabulacji

$p=ereg_replace("\r"," ",$p); //znak końca linii

$p=ereg_replace("\n"," ",$p); //znak końca linii

$p=ereg_replace(" {2,}"," ",$p); //podwójne spacje

$p=trim($p); //początkowe i końcowe spacje

echo $p;

?>

W wyniku otrzymasz zdanie "wyczyszczone":

zdanie z dużą ilością spacji i znakiem końca linii

Program wykorzystuje funkcję ereg_replace(), która pozwala zamieniać łańcuchy znaków i przy okazji można w niej stosować wyrażenia regularne. Znak \t to tabulacja, \r - to porót karetki stosowany w systemach Windows i pod Dosem, a \n - to przejście do nowej linii stosowany w każdym z systemów. W Linuxie koniec linii to tylko znak \n, a w Windowsie koniec linii składa się z dwóch znaków \r\n.

Po zamianie końców linii i tabulatorów na spacje, eliminujemy wszystkie wielokrotne spacje dopasowane do wzorca " {2,}" (spacje występujące dwa i więcej razy). Jeżeli ich nie ma, kasujemy jeszcze spacje na początku i końcu zdania - ludzie często je tam dodają.

W wyniku otrzymamy czysty łańcuch znaków. W razie potrzeby można wyeliminować również inne znaki. Mogą to być też całe fragmenty tekstu, np. komentarze w HTMLu:

$p = ereg_replace("<!--(.|\n)*-->","",$p);



Wyszukiwarka

Podobne podstrony:
Jak przerwać wykonywanie pętli (for, PHP Skrypty
jak przeliczyc biorytm dowolnego dnia, PHP Skrypty
Jak wygenerować niepowtarzalny identyfikator użytkownika, PHP Skrypty
Jak stworzyć prostą księgę gości, PHP Skrypty
Jak zamienić tekst na grafikę, PHP Skrypty
Jak dołączyć do stron napisanych w PHP skrypty CGI napisane np. w PERLu, PHP Skrypty
Jak zainstalować popularne forum phpBB, PHP Skrypty
Jak przerwać wykonywanie pętli (for, PHP Skrypty
Jak przekazać do skryptu parametry z linii poleceń, PHP Skrypty
Jak wysłać ze strony WWW e-mail z dowolnym załącznikiem, PHP Skrypty
Jak stworzyć prostą wyszukiwarkę dla własnych stron WWW, PHP Skrypty
Jak stworzyć zaawansowany test wyboru lub quiz, PHP Skrypty
Jak wygenerować bezpieczne, PHP Skrypty
Jak zrobić stronę dostępną na hasło tylko dla wybranych użytkowników, PHP Skrypty
Jak wyświetlić zawartość katalogu jako linki służące do pobrania plików, PHP Skrypty
Jak pobrać zawartość strony WWW korzystając z biblioteki CURL, PHP Skrypty
Jak uzyskać kolejny numer (id) ostatnio wstawionego rekordu, PHP Skrypty
Jak chronić adres e-mail na stronie przed spamem stosując przekierowanie, PHP Skrypty
Jak pokazać i skąd wziąć imieniny przypadające na aktualny dzień, PHP Skrypty

więcej podobnych podstron