Operațiuni pe linii.
Proprietățile unui șir în PHP:
Pentru a concatena (se alăture liniilor), utilizați "." (Dot). Exemplu de concatenare a șirului:
$ c = $ a. $ b; // numărul + număr
$ c = $ a. $ d; // numărul + șir
echo "$ c \ n"; // print 20 Bună ziua
În PHP, operanzii sunt comparati ca siruri de caractere, numai daca sunt siruri de caractere. În caz contrar, ele sunt comparate ca numere. Orice linie pe care interpretul nu o poate traduce într-un număr va fi tratată ca 0.
Cea mai bună modalitate de a compara este utilizarea = = = (operatorul de egalitate triplă este un operator de echivalență). Întotdeauna vă permite să faceți o comparație corectă, deoarece el compară valorile atât cu valoarea, cât și cu tipul.
Funcția strlen () returnează lungimea șirului, adică numărul de caractere care conține șirul.
echo strlen ($ a); // output5
Funcția strpos () caută un substring într-un șir. Funcțiile trebuie să treacă trei parametri:
- Șirul în care căutăm un substring.
- subșir.
- poziția de la care se efectuează căutarea. Acest parametru este opțional și implicit este 0.
Dacă șirul nu este găsit, funcția returnează false, în caz contrar - numărul de poziție cu care începe intrarea substringului:
ecou strpos ("Bună ziua", "el"); // print 1
Funcția substr (șir $ str, int $ din, int $ lenght) returnează porțiunea specificată a șirului, adică substringul. Substringul șirului $ str este returnat, începând cu $ din lungimea lungimii $. Dacă valoarea $ din parametru este negativă, atunci substringul va fi contorizat de la sfârșitul liniei, nu de la început. Parametrul lungime $ este opțional.
echo substr ($ str, 1, 1); // output o
echo substr ($ str, -1, 1); // ieșire k
Funcția strcmp ($ str1, $ str2) compară două șiruri și returnează următoarele valori:
0, dacă liniile sunt egale;
1 dacă șirul $ str1 este lexicografic mai mare decât $ str2;
-1 dacă șirul $ str 1 este mai mic decât $ str2.
Funcția strasecmp (sstring $ str1, șir $ str2) compară cele două șiruri de caractere fără a se ține seama de cazul caracterelor, adică liniile BOOK, BOOK și cărțile pentru această funcție sunt egale.
Funcția str_replace ($ str1, $ str2, $ sursă) înlocuiește în sursa string $ (care se află în procesul funcției nu se schimba) toate aparițiile unui str1 subșir este de $ subsir $ str2 și returnează rezultatul ca o nouă linie.
Exemplu de înlocuire a caracterelor de linii noi \ n cu o etichetă
:
$ str = str_replace ("\ n", "
", $ str);
Funcția WordWrap () este foarte utilă atunci când trebuie să formatați textul unui mesaj înainte de al trimite. Această funcție împarte textul mesajului în șiruri, terminând fiecare caracter cu o rupere de linie (implicit este \ n). Fiecare rând nu trebuie să depășească 75 de caractere (dar puteți specifica celălalt număr). De exemplu:
// împărțiți cu 15 caractere
$ s = WordWrap ($ s, 15, "\ n");
Funcția strip_tags (). Această funcție elimină din șir toate etichetele HTML:
O listă de etichete care nu ar trebui să fie șterse poate fi specificată prin apelarea funcției:
$ s = strip_tags ($ s, "„);
Puteți să vă referiți la orice caracter din linia de index:
echo $ str [0]; // ieșire B
Funcția chr (int $ code) returnează un șir constând dintr-un caracter cu codul $ code. și funcția ($ char) este codul simbolului $ char:
echo chr (75); // output K
echo ord ("A"); // print 65 - codul literei A
Pentru a traduce caracterele în litere mici, utilizați funcția strtolower (), iar în partea superioară - strtoupper ().
$ str = strtolower ($ str);
$ str = strtupper ($ str);
- LC_TYPE - folosit pentru a seta localizarea traducerii literelor majuscule / majuscule.
- LC_NUMERIC - folosit pentru a seta localul pentru funcția de formatare a cifrelor fracționate.
- LC_TIME - ajută la configurarea ieșirii formatate a datei și a orei.
- LC_ALL - setează toate modurile de mai sus.
SetLocal ("LC_TYPE", "ru_RU.koi8");
După primirea parametrilor (de exemplu, la completarea formularului), înainte de a începe prelucrarea acestora, trebuie să convertiți valorile parametrilor (eliminați spațiile suplimentare). Caracterele albe sunt "", \ n, \ r, \ t.
Funcția trim () îndepărtează spațiul alb la începutul și la sfârșitul liniei, de exemplu:
$ s = trim ($ s); // $ s = "șir"
În plus față de funcția trim (), puteți utiliza funcțiile ltrim () și chop (). Primul elimină numai caracterele de la linia albă la începutul liniei, al doilea numai la sfârșit.
Funcția UrlEncode () este utilizată pentru a codifica datele. Codificarea este necesară pentru transferul de date prin Internet, care conține caractere speciale ale alfabetelor naționale, de exemplu rusă. Când se transferă un întreg fișier, acesta trebuie codificat folosind funcția UrlEncode ().
Exemplu de generare automată a legăturilor :
$ Param = "Text rusesc";
În următoarea listă, este prezentat un exemplu care demonstrează modul în care funcțiile UrlEncode () și UrlDecode () colaborează.
$ Param = "Text rusesc";
$ Param = UrlEncode ($ param);
$ Param = UrlDecode ($ param);
Pentru a imprima citate și o slash, trebuie să utilizați citarea, adică să scrieți aceste caractere printr-o linie înclinată:
$ s = "\\" ";
Pentru a adăuga slash-uri, utilizați funcția AddSlashes (string $ str). și pentru îndepărtarea - StripSlashes (atring $ str).
Ambele funcții returnează un șir modificat și nu modifică șirul original.
Funcția htmlspecialchars (string $ str) înlocuiește caractere speciale (citate, „mai mult“, „mai puțin“, etc.) în HTML lor - echivalente la de pe web - pagina ei se uita. De exemplu, când utilizați funcția HtmlSpecialChars. semnul "mai mult" din cod va fi înlocuit cu un șir gt și ghilimele sunt. "Un exemplu de utilizare a funcției HtmlSpecialChars.
$ s = " <> "";
$ s = HtmlSpecialChars ($ s);
echo $ s; // output - lt; gt; "
În PHP, se folosește funcția convert_cyr_string (). convertirea textului rusesc de la o codificare la alta. Această funcție trebuie să treacă prin trei parametri:
- Șirul sursă.
- Codare originală.
- Codificare necesară.
Ultimii doi parametri pot lua următoarele valori:
Un exemplu de utilizare a funcției convert_cyr_string ().
// Convertiți cuvântul "Bună ziua" de la codarea koi8-r la ferestrele-1251
echo convert_cyr_string ("Bună ziua", "k", "w"); // ieșire "OPHBER"
Funcția md5 () codifică șirul folosind algoritmul MD5 (Message Digest Algorithm). Probabilitatea ca două șiruri diferite să aibă același cod hash, tinde la zero, ceea ce face posibilă utilizarea eficientă a acestei funcții pentru criptarea parolelor. Encrypted cu ajutorul lui mesajul nu poate fi decriptat - pentru algoritmul MD5 nu există nici un algoritm de decriptare. Pentru a autentifica parola, trebuie să criptați din nou parola și să comparați liniile criptate: dacă acestea sunt egale, atunci parola este corectă. De exemplu:
dacă (md5 ($ a) === md5 ($ b)) ecou "1: parola este corectă";
dacă (md5 ($ a) === md5 ($ c)) echo "2: parola este corectă";
Scriptul va afișa numai primul mesaj, deoarece liniile (și codurile hash) sunt egale. Recomandare pentru utilizarea acestei funcții:
În plus față de funcția md5 (), puteți utiliza funcția crypt (). care implementează algoritmul DES. dar acest algoritm este mai puțin eficient, prin urmare, pentru proiecte serioase, acesta nu este aplicat.