Operatii cu siruri de caractere
Lungimea
$s = "acesta este un text";
$sir = "stiu PHP stiu HTML stiu CSS";
# ce lungime are sirul? (numarul de caractere)
print strlen( $s ); // 19
Cautarea unei secvente
# verific daca un cuvant sau text (in cazul de fata cuvantul 'PHP') apare in
# sirul exprimat prin variabila $sir
if( strstr( $sir, 'PHP' ) !== false ) print 'gasit';
else print "nu am gasit";
# pentru a nu tine cont de litere mari/mici se foloseste stristr
if( stristr( $sir, 'phP' ) !== false ) print 'gasit';
Afisarea unui subsir
# afisez o sectiune din sir
print substr( $sir, 0, 4); // stiu
print substr( $sir, 5 ); // PHP stiu HTML stiu CSS
print substr( $sir, 5, -3 ); // PHP stiu HTML stiu
print substr( $sir, -3 ); // CSS
# returnez doar un caracter din string
print $sir{5}; // P
print $sir{ strlen($sir)-1 }; // S
Transformarea sirului
# inlocuirea unor secvente
print str_replace( "stiu", "invat", $sir); // invat PHP invat HTML invat CSS
# schimb tipul literelor (mari, mici)
print strtoupper( $s ); // ACESTA ESTE UN TEXT
print strtolower( $sir ); // stiu php stiu html stiu css
print ucfirst( $s ); // Acesta este un text
print ucwords( $s ); // Acesta Este Un Text
# sterg spatiile de la inceput si sfarsit: trim, ltrim, rtrim
print trim(' ok '); // ok
# caractere "enter" transformate in <br />
print nl2br( "acesta e afisat pe \n 2 linii" ); // acesta e afisat pe <br /> 2 linii
Impartirea (spargerea) sirului
# impart sirul dupa un caracter (sau regex)
$output1 = split( " ", $s ); // impart dupa spatiu
/*
Array (
[0] => acesta
[1] => este
[2] => un
[3] => text
)
*/
# impart sirul dupa un cuvant (sau un alt sir) - nu regex sau caracter
$output2 = explode( "stiu ", $sir ); // impart dupa stiu<spatiu>
/*
Array (
[0] => PHP
[1] => HTML
[2] => CSS
)
*/
# operatia inversa impartirii unui sir:
$a = implode( 'invat ', $output2 ); // invat PHP invat HTML invat CSS
$b = join( ' ', $output1 ); // acesta este un text
Nota:
implode si
join sunt echivalente (nu exista nici o diferenta intre ele), pe cand
explode si
split sunt diferite.
Interpretarea sirului
# parsez un Query String
$str = "first=value&arr[]=foo+bar&arr[]=baz";
parse_str($str);
print $first; // value
print $arr[0]; // foo bar
print $arr[1]; // baz
parse_str($str, $output);
print $output['first']; // value
print $output['arr'][0]; // foo bar
print $output['arr'][1]; // baz
Masuri de siguranta
print addslashes( "Baiatu' ia vino-ncoa'!" ); # Baiatu\' ia vino-ncoa\'!
# functia inversa este stripslashes();
print htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
# afiseaza <a href='test'>Test</a>
# functia inversa este htmlspecialchars_decode()
print strip_tags( "<p>E <b>bold</b></p>" ); // E bold
print strip_tags( "<p>E <b>bold</b></p>", '<b>' ); // E <b>bold</b>
Nimic de afisat.
Adauga un comentariu la aceasta sectiune.