Home   FORUM   Toplista   HTML   CSS   JavaScript   PHP   DIZAJN   SEO   Mapa
KONTAKT
izuzetan[at]gmail.com






TOP LISTA SAJTOVA

Podudarnost i zamena delova stringa

U ovom delu će mo obraditi funkcije za proveru da li se neki znakovni niz sadrži u nekom većem znakovnom nizu.

strstr() i strchr()

Funkcije strstr i strchr su identične i koriste se kako za nalaženje znakova tako i reči unutar većeg znakovnog niza. Prototip funkcije strstr je sledeći:

string strstr(string $tekst, string $uzorak [,bool $suprotna_logika = true]);

Primer:

$email = "[email protected]";
$domain = strstr ($email, "@");
echo $domain . "<br>";
$user = strstr ($email, "@", true);  // Treći parametar uveden od PHP 5.3.0
echo $user;

Rezultat:

@example.com
ime

U tekst treba pronaći uzorak. Rezultat funkcije je znakovni podniz teksta koji počinje od prvog pojavljivanja uzorka pa do kraja. Ukoliko se uzorak ne javlja u tekstu, rezultat funkcije je false. Najčešće se ove funkcije koriste da nam kažu da li postoji neka reč u nekom nizu ili ne.

stristr()

Funkcija stristr je identična funkciji strstr stom razlikom što ne pravi razliku izmedju mala i velika slova. Funkcija strrchr je identična strstr stim što traži podniz od kraja niza.

strpos() i strrpos()

Funkcije strpos i strrpos vraćaju broj koji ukazuje posle kog znaka se pojavljuje uzorak. Prototip je:

int strpos (string $tekst, string $uzorak [, int pomeraj]);

Imajte u vidu da brojanje počinje od nula. Na primer sledeći kod će proslediti web čitaču vrednost 5:

$test="Zdravo narode";
echo strops($test, "o");

Ovde smo za uzorak prosledili jedan znak ("o") ali možemo, naravno proslediti i znakovni niz bilo koje dužine. Opcioni parametar pomeraj pokazuje funkciji od kog znaka u tekstu da počne traženje uzoraka (ali i dalje se broji od početka). Na primer da smo stavili echo strpos($test, "o", 6) rezultat bi bio 10 jer se na toj poziciji nalazi drugi znak "o".

Funkcija strrpos je slična funkciji strpos ali vraća položaj poslednjeg pojavljivanja znaka u tekstu, i traži uzorke od samo jednog znaka. Ako joj kao uzorak postavimo neki znakovni niz ona će raditi samo sa prvim znakom a ostale će ignorisati.

Korišćenjem bilo strpos ili strrpos funkcije ako uzorak ne postoji u tekstu one će vratiti vrednost false, a false u PHP jeziku jednako je 0 pa tad neznamo da li se znak (string) pojavljuje odmah na početku ili ga u opšte i nema !!! Ovaj problem se može izbeći upotrebom operatora "===" za proveru rezultata na sledeći način:

$test="Zdravo narode";
$rezultat=strops($test, "Z");
if ($rezultat === false) echo "ne postoji znak u tekstu";
else echo "Postoji znak na početku";

str_replace()

Pretragom i u isto vreme zamenom pronadjene reči nekom drugom reči u stringu možemo na primer cenzurisati razne pogrdne reči u forumima, komentarima i slično. Funkcija str_replace upravo zato služi:

mixed str_replace (mixed $uzorak, mixed $zamena, mixed $tekst [, int &$broj_pojavljivanja])

Primer sve objašnjava:

$uzorci=array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
$rezultat = str_replace($uzorci, "", "Hello World of PHP");
echo $rezultat."<br>";
$str = str_replace("ll", "", "good golly miss molly!", $broj_pojavljivanja);
echo $broj_pojavljivanja;

Rezultat:

Hll Wrld f PHP
2

substr_replace()

Za razliku od funkcije str_replace koja zamenjuje reč na osnovu reči koja se uporedjuje funkcija substr_replace zamenjuje reč na osnovu položaja u tekstu. Prototip je sledeći:

string substr_replace( string $tekst, string $zamena, int $početak [, int $dužina]);

Broj $početak odredjuje od kog znaka u nizu će se krenuti sa zamenom, a opcioni broja $dužina odredjuje do kog znaka će se izvršiti zamena. Parametar $dužina nije obavezan, i ako se ne upotrebi znakovni niz će biti zamenjen od parametra $početak pa do kraja.

Copyright © 2010 BUbaj. Powered By bubaj.com
PHP    PHP sintaksa    Fajl    Niz    String    Funkcija    Objektno programiranje    MySQL    Unos fajla    Datum    Forme    Sesija    Registracija