Nota: Este activată versiunea adaptivă a site-ului, care se adaptează automat la dimensiunea redusă a browserului dumneavoastră și ascunde câteva detalii ale site-ului pentru ușurință în citire. Vizionare placuta!
Sunt bucuros să urez bun venit pe toți din nou pe paginile blogului dedicate tuturor complexităților creării și promovării de succes a site-urilor web - Site pe! În tutorialul PHP de astăzi vom acoperi subiecte precum tipuri de variabile, escape, caractere speciale și sintaxa heredoc în PHP.
Tipuri variabile
PHP are opt tipuri diferite de variabile, dintre care
4 tipuri scalare:
- boolean (tip boolean sau logic)
- întreg (numere întregi)
- float (număr în virgulă mobilă)
- şir
2 tipuri mixte:
- matrice
- obiect
2 tipuri speciale:
- resursă
Înainte de a privi fiecare tip mai detaliat, merită să clarificăm că PHP NU este un limbaj puternic tipizat, ci un limbaj tipizat dinamic. Aceasta înseamnă că nu trebuie să declarăm în prealabil tipul fiecărei variabile (la creare). PHP însuși va ghici ce tip este o anumită variabilă, pe baza a ceea ce am introdus în această variabilă. Aceasta mai înseamnă că, spre deosebire de limbile cu tastare strictă, putem lua o variabilă cu un număr (întreg) și punem un șir (șir) și nu va fi o eroare! Aceasta este una dintre caracteristicile PHP pe care le place foarte mult oamenilor (începătorilor) care nu s-au ocupat anterior de programare. De regulă, în cele din urmă toată lumea ajunge la concluzia că acesta este un minus al limbii, nu un plus.
boolean- cel mai simplu tip. Poate lua doar 2 valori: adevărat sau fals(adevărat sau fals), sunt insensibile la majuscule și minuscule (puteți scrie TRUE, trUe etc.). Un exemplu ilustrativ:
echo $nume, "
", $nume2; ?>
Rezultat:
După cum puteți vedea, browserul nu înțelege tipul boolean, spre deosebire de PHP, așa că atunci când încercați să scoateți adevărat sau fals va afișa numărul pe pagină 1 sau linie goală.
Când sunt convertite la un tip boolean, următoarele valori sunt tratate ca FALSE:
- întreg 0 (zero)
- număr în virgulă mobilă 0,0 (zero)
- șir gol și șir „0” sau „0”
- matrice goală
- tip special NULL (inclusiv variabile nesetate)
Toate celelalte valori sunt tratate ca TRUE.
// număr zecimal$int = -5; // număr negativ$int = 05; // număr octal$int = 0x1A; // număr hexazecimal
//Numere în virgulă mobilă (reale):$flt = 1,4; $flt = 1,2e3; $flt = 7E-10; ?>
Cu toate acestea, tipul cel mai des folosit în PHP poate fi considerat cu precizie corzi. Șirurile pot fi scrise fie între ghilimele simple, fie duble, dar nu sfătuiesc pe nimeni să scrie șiruri între ghilimele duble, deoarece, făcând acest lucru, forțați interpretul PHP să „parseze” șirul dvs. pentru prezența variabilelor în el, care, deși ușor , vă încetinește munca. Chiar dacă doriți să utilizați variabile în șirul dvs., acest lucru se poate face folosind ghilimele simple + (concatenarea a două sau mai multe șiruri într-unul singur). Atunci de ce sunt necesare ghilimele duble? De exemplu, când vrem să folosim caractere speciale (\n, \r, etc.), dar mai multe despre ele puțin mai târziu.
De asemenea, este de remarcat faptul că utilizarea ghilimele simple + concatenare face codul mult mai lizibil decât dacă totul ar fi pus fără discernământ între ghilimele duble. Dar destule prefațe, acum vei vedea și înțelege totul pentru tine:
$numar = 2; //intger $hand1 = "Numarul de maini pe care le are o persoana:"; //șir + faceți-l să fie analizat pentru variabile$hand2 = „Numărul de mâini pe care o persoană le are:”; //şir
//adăugați variabila $number la aceste linii:$hand1 = "Numarul de maini pe care le are o persoana: $numar si mai mult text..."; // NOT recomandat $hand2 = "Numar de maini pe care le are o persoana: " . $numar. „și mai mult text...”; // recomand!
echo $hand1, "
", $hand2; ?>
Rezultat:
Vom vorbi mai multe despre concatenare în articolul următor.
- i s-a atribuit o constantă NUL.
- nu i s-a atribuit încă niciun sens.
- a fost eliminat folosind unset()
Ar fi inutil să studiem tipurile de variabile rămase în această etapă. Vom întâlni tipurile rămase și le vom analiza într-un studiu mai profund al PHP.
Evadare în PHP
Dar dacă nu vrem să obținem valoarea unei variabile în linia noastră, dar vrem să scriem literal $număr? Să luăm în considerare două opțiuni:
$hand1 = "Numarul de maini pe care le are o persoana: \$numar si ceva text..."; // DO NOT recommend $hand2 = "Numărul de mâini pe care o persoană are: $număr și ceva text..."; // recomand!
echo $hand1, "
", $hand2; ?>
Rezultat:
În prima versiune (cu ghilimele duble), am folosit evadarea caracterului special dolar, datorită căruia acest caracter special a încetat să mai aibă scopul său special (desemnare variabilă) și s-a transformat într-un semn dolar obișnuit.
În a doua opțiune (cu ghilimele simple), după cum știți deja, interpretul PHP nici măcar nu a încercat să găsească variabile în linie și, prin urmare, nu a fost necesară evadarea.
Caractere speciale în PHP
Mai ales pentru cititorii blogului Site pe! Am pregătit o mică listă de caractere speciale în limbajul de programare PHP:
- \n linie nouă
- \r întoarcere la cărucior
- \t filă orizontală
- \\ backslash (backslash)
- \$semnul dolarului
- \" ghilimele duble
Să ne uităm la munca caracterelor speciale folosind exemplul \n - un caracter special care face o linie nouă (cum ar fi Enter), dar browserele nu o înțeleg (și nu ar trebui) să o înțeleagă și să-l ignore, dar rezultatul muncii sale poate se vede in codul sursa al paginii:
echo $rule, "
", $regula2; ?>
Rezultat:
Cod sursă (Ctrl + U):
Dacă caracterul special \n nu este afișat vizitatorilor în browser, atunci care este semnificația acestuia?
În primul rând, folosind caractere speciale și \n în special, puteți formata comod codul de pe pagină (ca în exemplul de mai sus).
În al doilea rând, \n poate fi folosit, de exemplu, în timpul operațiunilor de scriere într-un fișier, pentru a face un wrap (Enter) și a continua scrierea pe o nouă linie.
O alternativă la această formatare este .
Sintaxa Heredoc în PHP
Rezultat:
Cod sursă (Ctrl + U):
Rezultatul vorbește de la sine, acum să ne dăm seama cum funcționează totul:
- Linia începe cu trei paranteze unghiulare<<<, далее следует имя идентификатора.
- Linia cu identificatorul de deschidere (eticheta) nu trebuie să conțină în niciun caz alte caractere după ea, inclusiv un spațiu. Adică, cu alte cuvinte, imediat după marca noastră trebuie să punem Enter, fără spațiu, imediat Enter!
Caracterele speciale HTML sunt constructe de limbaj speciale care se referă la caractere din setul de caractere utilizat în fișierele text. Tabelul arată o listă de caractere rezervate și speciale care nu pot fi adăugate la codul sursă al unui document HTML folosind tastatura:
- caractere care nu pot fi introduse folosind tastatura (de exemplu, un simbol de drepturi de autor)
- caractere destinate marcarii (de exemplu, un semn mai mare sau mai mic decât)
Astfel de caractere sunt adăugate folosind un cod numeric sau un nume.
Simbol | Cod numeric | Nume simbol | Descriere |
---|---|---|---|
" | " | " | ghilimele |
" | " | " | apostrof |
& | & | & | ampersand |
< | < | mai putin de semn | |
> | > | > | semn mai mult |
spațiu neîntrerupt (Un spațiu neîntrerupt este un spațiu care apare în interiorul unei linii ca un spațiu obișnuit, dar nu permite programelor de afișare și tipărire să întrerupă linia în acest moment.) | |||
¡ | ¡ | ¡ | semn de exclamare inversat |
¢ | ¢ | ¢ | cent |
£ | £ | £ | livre. |
¤ | ¤ | ¤ | valute |
¥ | ¥ | ¥ | yeni |
¦ | ¦ | ¦ | bară verticală spartă |
§ | § | § | secțiune |
¨ | ¨ | ¨ | interval (chirilic) |
© | semnul dreptului de autor | ||
ª | ª | ª | exponent ordinal feminin |
« | « | « | Citate franceze (herringbone) - stânga |
¬ | ¬ | ¬ | negație-expresii |
® | ® | ® | marcă înregistrată |
¯ | ¯ | ¯ | interval macron |
° | ° | ° | grad |
± | ± | ± | plus sau minus |
² | ² | ² | indicele 2 |
³ | ³ | ³ | indicele 3 |
´ | ´ | ´ | interval acut |
µ | µ | µ | micro |
¶ | ¶ | ¶ | paragraf |
· | · | · | punct de mijloc |
¸ | ¸ | ¸ | interval cedilla |
¹ | ¹ | ¹ | indicele 1 |
º | º | º | exponent ordinal masculin |
» | » | » | Citate franceze (herringbone) - corect |
¼ | ¼ | ¼ | 1/4 parte |
½ | ½ | ½ | 1/2 parte |
¾ | ¾ | ¾ | 3/4 părți |
¿ | ¿ | ¿ | semn de întrebare inversat |
× | × | × | multiplicare |
÷ | ÷ | ÷ | diviziune |
́ | ́ | accent | |
Œ | Œ | Œ | ligatură capitală OE |
œ | œ | œ | ligatura cu litere mici oe |
Š | Š | Š | S cu coroana |
š | š | š | S minuscul cu coroană |
Ÿ | Ÿ | Ÿ | Y majuscul cu tiara |
ƒ | ƒ | ƒ | f cu cârlig |
ˆ | ˆ | ˆ | accent dicriatic |
˜ | ˜ | ˜ | tildă mică |
– | – | - | liniuță |
— | — | — | ei liniuță |
‘ | ‘ | ‘ | ghilimele stânga |
’ | ’ | ’ | ghilimele drepte |
‚ | ‚ | ‚ | ghilimele de jos |
“ | “ | “ | ghilimele lăsate |
” | ” | ” | ghilimele drepte |
„ | „ | „ | ghilimele duble inferioare |
† | † | † | pumnal |
‡ | ‡ | ‡ | pumnal dublu |
. | glonţ | ||
… | … | … | elipsă orizontală |
‰ | ‰ | ‰ | ppm (mii) |
′ | ′ | ′ | minute |
″ | ″ | ″ | secunde |
‹ | ‹ | ‹ | citat unic din colțul din stânga |
› | › | › | citat unic din colțul din dreapta |
‾ | ‾ | ‾ | supraliniere |
€ | € | € | Euro |
™ | ™ sau | ™ | marcă comercială |
← | ← | ← | săgeată stânga |
săgeată sus | |||
→ | → | → | săgeata dreapta |
↓ | ↓ | ↓ | săgeată în jos |
↔ | ↔ | ↔ | săgeată dublă |
↵ | ↵ | ↵ | săgeată de întoarcere a căruciorului |
⌈ | ⌈ | ⌈ | colțul din stânga sus |
⌉ | ⌉ | ⌉ | colțul din dreapta sus |
⌊ | ⌊ | ⌊ | colțul din stânga jos |
⌋ | ⌋ | ⌋ | colțul din dreapta jos |
◊ | ◊ | ◊ | romb |
♠ | ♠ | ♠ | culmi |
♣ | ♣ | ♣ | cruce |
viermi | |||
♦ | ♦ | ♦ | diamante |
Simboluri matematice acceptate în HTML
Simbol | Cod numeric | Nume simbol | Descriere |
---|---|---|---|
∀ | ∀ | ∀ | pentru oricine, pentru toată lumea |
∂ | ∂ | ∂ | Parte |
∃ | ∃ | ∃ | există |
∅ | ∅ | ∅ | set gol |
∇ | ∇ | ∇ | operator Hamilton (nabla) |
∈ | ∈ | ∈ | aparține setului |
∉ | ∉ | ∉ | nu aparține setului |
∋ | ∋ | ∋ | sau |
∏ | ∏ | ∏ | lucru |
∑ | ∑ | ∑ | sumă |
− | − | − | minus |
∗ | ∗ | ∗ | multiplicare sau operator conjugat la |
× | × | &ori | semn de înmulțire |
√ | √ | √ | rădăcină pătrată |
∝ | ∝ | ∝ | proporționalitatea |
∞ | ∞ | ∞ | infinit |
⋮ | ⋮ | multiplicitate | |
∠ | ∠ | ∠ | colţ |
∧ | ∧ | ∧ | Şi |
∨ | ∨ | ∨ | sau |
∩ | ∩ | ∩ | intersecţie |
∪ | ∪ | ∪ | asociere |
∫ | ∫ | ∫ | integrală |
∴ | ∴ | ∴ | De aceea |
∼ | ∼ | ∼ | ca |
≅ | ≅ | ≅ | comparabil |
≈ | ≈ | ≈ | aproximativ egale |
≠ | ≠ | ≠ | nu egali |
≡ | ≡ | ≡ | identic |
≤ | ≤ | ≤ | mai mic sau egal cu |
⩽ | ⩽ ⩽ |
⩽ ⩽ |
mai mic sau egal cu |
≥ | ≥ | ≥ | mai mare sau egal cu |
⩾ | ⩾ ⩾ |
⩾ ⩾ |
mai mare sau egal cu |
⊂ | ⊂ | ⊂ | subset |
⊃ | ⊃ | ⊃ | superseturi |
⊄ | ⊄ | ⊄ | nu un subset |
⊆ | ⊆ | ⊆ | subset |
⊇ | ⊇ | ⊇ | superset |
⊕ | ⊕ | ⊕ | suma directă |
⊗ | ⊗ | ⊗ | produs mai tensionat |
⊥ | ⊥ | ⊥ | perpendicular |
⋅ | ⋅ | ⋅ | operator punct |
Alfabetul grecesc și copt
Simbol | Cod numeric | Cod hexadecimal | Nume simbol |
---|---|---|---|
Ͱ | Ͱ | Ͱ | |
ͱ | ͱ | ͱ | |
Ͳ | Ͳ | Ͳ | |
ͳ | ͳ | ͳ | |
ʹ | ʹ | ʹ | |
͵ | ͵ | ͵ | |
Ͷ | Ͷ | Ͷ | |
ͷ | ͷ | ͷ | |
ͺ | ͺ | ͺ | |
ͻ | ͻ | ͻ | |
ͼ | ͼ | ͼ | |
ͽ | ͽ | ͽ | |
; | ; | ; | |
΄ | ΄ | ΄ | |
΅ | ΅ | ΅ | |
Ά | Ά | Ά | |
· | · | · | |
Έ | Έ | Έ | |
Ή | Ή | Ή | |
Ί | Ί | Ί | |
Ό | Ό | Ό | |
Ύ | Ύ | Ύ | |
Ώ | Ώ | Ώ | |
ΐ | ΐ | ΐ | |
Α | Α | Α | Α |
Β | Β | Β | Β |
Γ | Γ | Γ | Γ |
Δ | Δ | Δ | Δ |
Ε | Ε | Ε | Ε |
Ζ | Ζ | Ζ | Ζ |
Η | Η | Η | Η |
Θ | Θ | Θ | Θ |
Ι | Ι | Ι | Ι |
Κ | Κ | Κ | Κ |
Λ | Λ | Λ | Λ |
Μ | Μ | Μ | Μ |
Ν | Ν | Ν | Ν |
Ξ | Ξ | Ξ | Ξ |
Ο | Ο | Ο | Ο |
Π | Π | Π | Π |
Ρ | Ρ | Ρ | Ρ |
Σ | Σ | Σ | Σ |
Τ | Τ | Τ | Τ |
Υ | Υ | Υ | Υ |
Φ | Φ | Φ | Φ |
Χ | Χ | Χ | Χ |
Ψ | Ψ | Ψ | Ψ |
Ω | Ω | Ω | Ω |
Ϊ | Ϊ | Ϊ | |
Ϋ | Ϋ | Ϋ | |
ά | ά | ά | |
έ | έ | έ | |
ή | ή | ή | |
ί | ί | ί | |
ΰ | ΰ | ΰ | |
α | α | α | α |
β | β | β | β |
γ | γ | γ | γ |
δ | δ | δ | δ |
ε | ε | ε | ε |
ζ | ζ | ζ | ζ |
η | η | η | η |
θ | θ | θ | θ |
ι | ι | ι | ι |
κ | κ | κ | κ |
λ | λ | λ | λ |
μ | μ | μ | μ |
ν | ν | ν | ν |
ξ | ξ | ξ | ξ |
ο | ο | ο | ο |
π | π | π | π |
ρ | ρ | ρ | ρ |
ς | ς | ς | ς |
σ | σ | σ | σ |
τ | τ | τ | τ |
υ | υ | υ | υ |
φ | φ | φ | φ |
χ | χ | χ | χ |
ψ | ψ | ψ | ψ |
ω | ω | ω | ω |
ϊ | ϊ | ϊ | |
ϋ | ϋ | ϋ | |
ό | ό | ό | |
ύ | ύ | ύ | |
ώ | ώ | ώ | |
Ϗ | Ϗ | Ϗ | |
ϐ | ϐ | ϐ | |
ϑ | ϑ | ϑ | ϑ |
ϒ | ϒ | ϒ | ϒ |
ϓ | ϓ | ϓ | |
ϔ | ϔ | ϔ | |
ϕ | ϕ | ϕ | ϕ |
ϖ | ϖ | ϖ | ϖ |
ϗ | ϗ | ϗ | |
Ϙ | Ϙ | Ϙ | |
ϙ | ϙ | ϙ | |
Ϛ | Ϛ | Ϛ | |
ϛ | ϛ | ϛ | |
Ϝ | Ϝ | Ϝ | Ϝ |
ϝ | ϝ | ϝ | ϝ |
Ϟ | Ϟ | Ϟ | |
ϟ | ϟ | ϟ | |
Ϡ | Ϡ | Ϡ | |
ϡ | ϡ | ϡ | |
Ϣ | Ϣ | Ϣ | |
ϣ | ϣ | ϣ | |
Ϥ | Ϥ | Ϥ | |
ϥ | ϥ | ϥ | |
Ϧ | Ϧ | Ϧ | |
ϧ | ϧ | ϧ | |
Ϩ | Ϩ | Ϩ | |
ϩ | ϩ | ϩ | |
Ϫ | Ϫ | Ϫ | |
ϫ | ϫ | ϫ | |
Ϭ | Ϭ | Ϭ | |
ϭ | ϭ | ϭ | |
Ϯ | Ϯ | Ϯ | |
ϯ | ϯ | ϯ | |
ϰ | ϰ | ϰ | ϰ |
ϱ | ϱ | ϱ | ϱ |
ϲ | ϲ | ϲ | |
ϳ | ϳ | ϳ | |
ϴ | ϴ | ϴ | |
ϵ | ϵ | ϵ | ϵ |
϶ | ϶ | ϶ | ϶ |
Ϸ | Ϸ | Ϸ | |
ϸ | ϸ | ϸ | |
Ϲ | Ϲ | Ϲ | |
Ϻ | Ϻ | Ϻ | |
ϻ | ϻ | ϻ | |
ϼ | ϼ | ϼ | |
Ͻ | Ͻ | Ͻ | |
Ͼ | Ͼ | Ͼ | |
Ͽ | Ͽ | Ͽ |
De ce sunt necesare caractere speciale și cum să le folosești
Să presupunem că decizi să descrii o etichetă pe pagina ta, dar din moment ce browserul folosește caractere< и >precum începutul și sfârșitul unei etichete, aplicarea acestora în conținutul codului dvs. HTML poate duce la probleme. Dar HTML vă oferă o modalitate ușoară de a defini aceste și alte caractere speciale folosind abrevieri simple numite referiri la simboluri.
Să ne uităm la cum funcționează. Pentru fiecare caracter care este considerat special sau pe care doriți să îl utilizați pe pagina dvs. web, dar care nu poate fi tipărit în editorul dvs. (de exemplu, simbolul dreptului de autor), găsiți abrevierea și o imprimați în codul html în locul caracterului dorit. . De exemplu, pentru simbolul ">" abrevierea este > , iar pentru simbolul "<" - < .
Să presupunem că doriți să tipăriți „Element foarte important” pe pagina sa. În schimb, va trebui să utilizați referințe la simbolurile de care aveți nevoie pentru a afișa corect intrarea și, în final, intrarea dvs. în cod ar trebui să arate astfel:
Element foarte important
Încercați »Un alt caracter special despre care trebuie să știți este simbolul & (ampersand). Dacă doriți să apară pe pagina dvs. HTML, utilizați linkul & în loc de caracterul &.
Obținem un set de personaje:
0 1 2 3 4 5 6 7 8 9: ; ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z ( | ) ~ ¡ ¢ £ ¤ ¥ ¦ § ¥ ¦ § ¨ ¦ ¼ ¨ ¯ ¹ ± µ² ª « ° ¬ ® ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á ã ä å æ ç è é ê ë í î ð ñ ò ó Ô õ ö ÷ õ ö ö ÷ ú û ü ý þ ÿ Ā ā Ă Ą ą Ć ć Ĉ ĉ Ċ ċ Č č Ď ď Đ đ Ē ē Ĕ ĕ Ė ė Ę ę Ě ě Ħ Ĝ ĝ Ğ Ğ Ġ ġ ħ ĞĞ Ĭ ĭ Į į İ ı ij Ĵ ĵ Ķ ķ ĸ Ĺ ĺ Ļ ļ Ľ ľ Ŀ ŀ Ł Ń ń Ņ ņ Ň ň ʼn Ŋ ŋ Ō ō Ŏ ŕ Ō ō Ŏ Ŏ Ŏ Œ Ř ř Ś ś Ŝ ŝ Ş ş Š š Ţ Ť ť Ŧ ŧ Ũ ũ Ū ū Ŭ ŭ Ů ů Ű ű Ų ų Ŵ ŵ Ŷ ŷ Ÿ Ź ź Ż ż Ž ž ſ ΄ ΅ Ά Ύ Ώ Ώ Ί Ό Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ Τ Υ Φ Χ Ψ Ω Ϊ Ϋ ά έ ή ί ΰ α β γ δ ε ζ η θ ι ζ η θ ι κ πρλσ μν κ π ξ μς χ ψ ω ϊ ϋ ό ύ ώ Ё Ђ Ѓ Є Ѕ І Ї Ј Љ Њ Ћ Ќ Ў Џ A B C D E F G H I J J K L M N O P R S T U V H C CH W Y J J a b c d e t n u h i jr k l m n u h i jr
Acesta este un set de simboluri vizibile, care sunt reprezentate aici ca evadare secvențe" &#număr„. Adică, de exemplu, scrisoarea rusă O- Asta &#1040. Orice caracter are înlocuitorul său, care în browser este convertit în caracterul în sine, adică dacă introduci textul html &#1040, litera rusă va fi vizibilă în browser O.
funcția replace_cyr($cale)( $căutare = matrice(„Y”, „A”, „B”, „C”, „G”, „D”, „E”, „F”, „ „Z”, „I”, „Y”, „K”, "L", "M", "N", "O", "P" "", ""R", ""S", ""T", ""U", ""F" ", ""X"", ""C", ""H"", ""Ш"", ""Ш", ""Ъ"", ""И"", ""л"", ""Э"", ""У"", ""Я"", " „a”, „b”, „c”, „d”, „d”, „e”, „g”, „h” , ""i "", ""th", ""k"", ""l", ""m"", ""n"", ""o"", ""p"", " "r"", ""s", ""t", ""y", ""f", ""x", ""ts", ""h", ""w "", " "sch", "b", "y", "b", "e", "yu", "ya", "e", "0 "e"); $inlocuire = matrice("Y", "A", "B", "C", "D", "D", "E", "F", "Z", "I", "Y", "K", " L", "M", "N", "O", "P", "R", "S", "T", "U", "F", "X", "C", "H" , „Ш”, „Ш”, „Ъ”, „ы”, „b”, „E”, „Yu”, „I”, „a”, „b”, „c”, „d”, „ d", "f", "g", "z", "i", "th", "k", "l", "m", "n", "o", "p", "r" , „s”, „t”, „y”, „f”, „x”, „ts”, „ch”, „sh”, „sch”, „b”, „s”, „b”, „ e", "yu", "ya", "e", "0"); reveni preg_replace($căutare,$înlocuire,$cale); } $html_text = "ABBCD"; imprimareînlocuiți_cyr($html_text); // obține rezultatul // &#1040;BVGD // în browser va fi vizibil: ABCD // adică, un astfel de text html poate fi vizualizat în orice codificare ?> |
Am arătat o funcție care schimbă toate literele rusești în echivalentele lor de evacuare, astfel încât textul să rămână neschimbat în orice codificare. Ai putea spune, de ce atunci nimeni nu folosește această abordare? La urma urmei, atunci nu trebuie să utilizați codificări ale browserului! Da, dar există o mică proprietate proastă a unui astfel de document html - dimensiunea sa în octeți crește de câteva ori și pagina se va încărca mult mai lent.
Ne-am uitat la simbolurile vizibile, dar sunt și cele care nu sunt vizibile.
Primim acest tipărit:
simbolurile nu sunt vizibile aici
aici puteți vedea simbolurile \000 \001 \002 \003 \004 \005 \006 \a \b \t \n \v \f \r
Mai întâi am încercat să tipărim șirul așa cum este, puteți vedea că nu există caractere. Și în a doua linie, am precedat toate caracterele acestei rânduri cu o bară oblică și au devenit vizibile. Adică, există personaje care, atunci când sunt precedate de o bară oblică, înseamnă ceva. Acestea sunt caractere care nu pot fi imprimate. Cel mai necesar dintre ei \n este un caracter de întoarcere la cărucior. Se termină orice rând. De exemplu, dacă vă uitați la codul html al fișierului pe care îl vizualizați în prezent, nu veți vedea simbolul în textul acestuia \n, dar se află la sfârșitul fiecărei rânduri, este pur și simplu invizibil, deoarece linia era invizibilă până când am precedat toate caracterele sale cu o bară oblică.
Caractere care nu se imprimă pe care le veți întâlni:
\ - spațiu
\n - întoarcere cărucior la linia nouă (sări la linia nouă)
\r - întoarcere caruș la începutul liniei (săriți la începutul liniei)
\t - caracter de tab longitudinal (spațiu invizibil)
De exemplu, pentru a scrie o linie într-un fișier text, trebuie să faceți acest lucru
Dacă scrieți aceste rânduri în fișierul dvs., nu veți vedea ultimele caractere, deși vor fi prezente în linie. O filă longitudinală adăugată la o linie oferă un spațiu invizibil dacă puneți \t într-o linie și îl scrieți într-un fișier, nu veți vedea nici acest caracter, este invizibil;
Adică trebuie să avem în vedere că fiecare linie citită din fișier se termină \n sau pe sisteme Windows \r\n, atunci când scrieți linii într-un fișier, este necesar să puneți \n la sfârșitul fiecărei rânduri și, de asemenea, în linia citită din fișier poate fi \t.
Ați văzut că există caractere care nu pot fi imprimate:
\000 \001 \002 \003 \004 \005 \006 \a \b \v \f \r
Acestea sunt caractere foarte dăunătoare pentru noi, deoarece sunt necesare pentru a forma fișiere binare. Pe viitor, tu și cu mine vom salva datele doar în fișiere simple, așa că aceste caractere trebuie eliminate din tot ceea ce primim din surse necunoscute. Adică, înainte de a scrie date în fișierele noastre, vom elimina caracterele dăunătoare.
Am lăsat toate caracterele imprimabile și două neprintabile, care ne vor fi de folos și pe viitor.
imprimare
"\300 \301 \302 \303 \304 \305 \306 \307 \310 \311 \312 \313 \314 \315 \316 \317 \320 \321 \322 \323 \324 \325 \326 \327 \330 \331 \332 \333 \334 \335 \336 \337 \340 \341 \342 \343 \344 \345 \346 \347 \350 \351 \352 \353 \354 \355 \356 \357 \360 \361 \362 \363 \364 \365 \366 \367 \370 \371 \372 \373 \374 \375 \376 \377";
?> |
Ieșirea scriptului va fi:
A B C D E F G H I J J K L M N O P R S T U V X C CH W Y Y J a b c d e g h i j k l m no p s t u f x c ch sh sh y y y
Adică, caracterul \300, scris astfel în rând, a fost înlocuit atunci când a fost tipărit cu o literă rusă O. Drept urmare, în acest fel ne-am tipărit alfabetul.
Adică slash-ul servește la înlocuirea caracterelor pe care le precedă există unele neprintabile, dar există și caractere imprimabile;
Deci, până la urmă, ne-am uitat la ce simboluri pot exista.
Tipărite sunt acele caractere care vor fi vizibile după imprimare.
Caracterele care nu pot fi imprimate precum „\ceva” scrise într-un fișier text nu vor fi vizibile pentru ochi, deși vor fi prezente în linie.
Personaje proaste.
Dacă ne uităm cu atenție, vom vedea că unele simboluri sunt indicate în mai multe moduri, uneori acest lucru îngreunează procesarea paginilor cu astfel de simboluri și ne îngreunează și mai mult viața atunci când, de exemplu, tipărim datele utilizatorului pe care le-au trimis Invitatului nostru. Cartea etc. Adică, este recomandabil să înlocuiți toate caracterele care se repetă cu unul singur . La prima vedere, aceasta pare o idee nebună, dar atunci când vă confruntați cu faptul că doriți să schimbați ceva în textul dvs. HTML, atunci vă veți confrunta cu problema „ordonării caracterelor”. În continuare, vom lua în considerare o funcție care în text schimbă toate echivalentele în patru principale: " " - ...
Dubla | Singur | Dash | Trei puncte | |||||
Simbol | " | - | ... | |||||
Echivalent în text HTML | " (") | " | - | ... | ||||
Echivalente asemănătoare în sens, afișat în text HTML |
« » |
« » |
|
|
|
|
Să compunem o funcție prin înlocuirea tuturor ghilimelelor duble la o singură înregistrare unificată: "
Acum avem o funcție care va înlocui în text HTML toate ghilimelele duble sunt " , toate ghilimelele simple sunt " , toate caracterele asemănătoare liniuțelor sunt - , toate elipsele sunt doar trei puncte.
Vă rugăm să-mi spuneți ce să fac dacă trebuie să acceptați text de la utilizator sub orice formă, inclusiv caca pur rău intenționată,
Cum pot procesa datele lui și ca scriptul să nu se aplece și să nu se înregistreze în baza de date mysql și apoi să-l afișez pe ecran cu rezultatele...
de exemplu ca tinyurl.
În general, vă rog să-mi spuneți simbolurile rău intenționate pentru php și mysql, astfel încât să poată fi înlocuite.
Ecran caca standard, dar nu știu ce să fac cu altele, altfel ajung cu un script leaky. : (pot fi
Răspuns:
Ce înseamnă la capetele matricelor?
"0"
""0"e"
Raspuns: e - proceseaza codul PHP cu inlocuirea tuturor elementelor cu echivalentele lor... Decizia de a inlocui zero cu zero imi apartine personal, din moment ce nu am gasit un inlocuitor adecvat mai potrivit... Pare a fi universal si potrivit pentru totul... deci cum, uneori nu știm ce înlocuiri vom face, dar creăm matrice Dinamic, cel CE schimbăm și cel PENTRU CE schimbăm.
Răspuns: da, punctele de suspensie sunt unul dintre lucrurile urâte...
Scotoc de mult pe internet în căutare de informații și aici vine iluminarea!
Mulțumesc din nou!
Răspuns:
spune-mi cum să-l depășesc? a scris numele cu litere ruse - am inteles????? RUBAS. codificarea este utf-8 peste tot
Răspuns: citește acolo kodir.html. Există, de asemenea, trei pagini despre codificări. Luați funcțiile noastre standard și experimentați. Cel mai probabil este scos din baza de date la win-1251, atunci
Răspuns:
Pagină: 1 | |
Pagina curentă: 1 | Total mesaje: 6 |
Un șir în PHP este un set de caractere de orice lungime. Spre deosebire de C, șirurile pot conține și caractere nule, care nu vor afecta în niciun fel programul. Cu alte cuvinte, șirurile pot fi folosite pentru a stoca date binare. Lungimea șirului este limitată doar de dimensiunea memoriei RAM libere.
În PHP, un caracter este același cu un octet, ceea ce înseamnă că sunt posibile exact 256 de caractere diferite. Aceasta înseamnă, de asemenea, că PHP nu are suport nativ Unicode. Unele suport Unicode este oferit de funcții utf8_encode()Şi utf8_decode() .
Șirul poate fi procesat cu ușurință folosind funcții standard și, de asemenea, puteți accesa direct oricare dintre caracterele sale.
Un exemplu simplu de variabilă șir:
$a= „Este doar text stocat într-o variabilă șir”;
echo $a ; //Ieșire „Acesta este doar text scris într-o variabilă șir”
?>
Acum să ne uităm la sintaxa tipului de date în detaliu. şir.
Sintaxa tipului șirului
Un șir poate fi definit în trei moduri diferite.
Cel mai simplu mod de a defini un șir este de a-l încadra între ghilimele simple (caracterul " ).
Pentru a utiliza un singur ghilimele într-un șir, ca în multe alte limbi, acesta trebuie să fie precedat de un caracter backslash ( \ ), adică ecranați-l. Dacă bara oblică inversă trebuie să fie înaintea unui singur ghilimeleu sau să fie la sfârșitul rândului, trebuie să o duplicați. Rețineți că dacă încercați să scăpați de orice alt caracter, bara oblică inversă va fi tipărită și! Deci, în general, nu este nevoie să scăpați de backslash în sine.
Spre deosebire de celelalte două sintaxe, variabile și secvențe de evacuare pentru caracterele speciale care apar în șiruri de caractere incluse în, Nu sunt în curs de procesare.
Iată un exemplu de utilizare a ghilimelelor simple:
ecou „acesta este un șir simplu”;
Ecou „De asemenea, puteți introduce în rânduri
caracter newline astfel,
pentru ca e normal";
// Ieșire: Arnold a spus odată: „Mă întorc”
ecou „Într-o zi, Arnold a spus: „Mă întorc”.;
Ecou „Ați șters C:\\*.*?”;
// Ieșiri: Ați șters C:\*.*?
echo "Ați șters C:\.*.*?" ;
// Ieșire: Aceasta nu va insera: \n linie nouă
ecou „Acest lucru nu va insera:\nnewline”;
// Ieșiri: $expand și $fiether nu sunt înlocuite
ecou „$expand și $fither variabilele nu sunt înlocuite”;
?>
Dacă șirul este cuprins între ghilimele duble ( " ), PHP recunoaște mai multe secvențe de escape pentru caractere speciale:
Tabelul secvenței de control:
Urmare | Sens |
---|---|
\n | linie nouă (LF sau 0x0A (10) în ASCII) |
\r | retur transport (CR sau 0x0D (13) în ASCII) |
\t | filă orizontală (HT sau 0x09 (9) în ASCII) |
\\ | backslash |
\$ | semnul dolarului |
\" | ghilimele duble |
\{1,3} | o secvență de caractere corespunzătoare unei expresii regulate, un caracter din sistemul numeric octal |
\x(1,2) | secvență de caractere corespunzătoare expresiei regulate, caracter în sistemul numeric hexazecimal |
Să ne amintim din nou că, dacă doriți să mnemonizați orice alt caracter, va fi imprimată și bara oblică inversă!
Un alt mod de a defini șiruri este de a folosi sintaxa heredoc ("<<< „). După<<< необходимо указать идентификатор, затем идет строка, а потом этот же идентификатор, закрывающий вставку.
Identificatorul de închidere trebuie să înceapă în prima coloană a rândului. În plus, identificatorul trebuie să urmeze aceleași reguli de denumire ca toate celelalte etichete din PHP: să conțină doar caractere alfanumerice și un caracter de subliniere și trebuie să înceapă cu o non-cifră sau un caracter de subliniere.
Atenţie! Este foarte important de reținut că linia de identificare de închidere nu conține alte caractere, cu excepția poate un punct și virgulă ( ; ). Aceasta înseamnă că identificatorul și că nu pot exista spații sau file înainte sau după punct și virgulă. De asemenea, este important să înțelegeți că primul caracter înainte de identificatorul de închidere trebuie să fie un caracter de linie nouă, așa cum este definit de sistemul dvs. de operare. De exemplu, pe Windows® aceasta este \r.
Dacă această regulă este încălcată și identificatorul de închidere nu este „curat”, identificatorul de închidere este considerat lipsă și PHP va continua să-l caute în continuare. Dacă în acest caz nu se găsește niciodată identificatorul de închidere corect, va provoca o eroare la procesare cu numărul de linie de la sfârșitul scriptului.
Heredoc-textul se comportă la fel ca un șir între ghilimele duble, fără a le avea. Aceasta înseamnă că nu trebuie să evadați ghilimele din heredoc, dar puteți utiliza în continuare secvențele de escape de mai sus. Variabilele sunt procesate, dar trebuie să fiți la fel de atenți atunci când utilizați variabile complexe în heredoc ca și atunci când lucrați cu șiruri.
Exemplu de definire a unui șir heredoc:
$str =<<
acoperind mai multe linii,
folosind sintaxa heredoc.
EOD;
/* Exemplu mai complex cu variabile. */
clasa foo
{
var $foo ;
var $bar ;
Funcția foo()
{
$this -> foo = "Foo" ;
$this -> bar = array("Bar1" , "Bar2" , "Bar3" );
}
}
$foo = new foo();
$name = "Numele meu" ;
Ecou<<
Acum deduc( $foo -> bar [ 1 ]) .
Aceasta ar trebui să scoată o literă majusculă „A”:\x41
EOT;
?>