Datakurser
Aktuell vecka: 48

Tillbaka till toppen

PHP Textsträngar

Lite exempel på funktioner för hantering av textsträngar

  • mb_strlen(textsträng)
  • mb_strtoupper(textsträng)
  • mb_strpos(helasträngen, delsträng)
  • mb_strstr(helasträngen, delsträng)
  • mb_substr(sträng, startposition [, antal tecken])
  • trim(textsträng)
  • ucfirst(textsträng)
  • explode(avskiljare, textsträng)

Här finns alla php.net - textsträngsfunktioner
och på php.net/manual/en/mbstring.overload.php finns de "multibyte"-funktioner som utvecklats för "utf-8" och ska användas istället för motsvarande funktioner i ovanstående textsträngfunktioner.
Här finns alla php.net - multibytesträngfunktioner

Från php.net Multibyte String Introduction:

When you manipulate (trim, split, splice, etc.) strings encoded in a multibyte encoding, you need to use special functions since two or more consecutive bytes may represent a single character in such encoding schemes. Otherwise, if you apply a non-multibyte-aware string function to the string, it probably fails to detect the beginning or ending of the multibyte character and ends up with a corrupted garbage string that most likely loses its original meaning.

Med bara engelskspråkig text så märks ingen skillnad, men för oss som använder å,ä och ö (lagras i 2 byte i UTF-8) så har det betydelse.

En klurighet runt mb_strpos() testas.

Utskriftsfunktionen printf()

Ifall man vill manipulera utseendet på utskriften finns en utskriftsfunktion med olika koder för specificering av typer och manipuleringar.
Normalt styr vi mycket av utseendet och strukturen med htmlkod.
php.net - printf()

 

Källor, referenser, bra länkar

php.net - textsträngsfunktioner
php.net/manual/en/mbstring.overload.php (mb-funktioner för utf-8)
php.net - multibytesträngfunktioner
PHP stränghantering, w3scools
Referenssida för strängfunktioner, w3schools

Utvecklingsmiljöer

Labbservern

PHP 7.2, MariaDB 5.5 och Apache 2.4.6

Laragon

Apache 2.4, MySQL 5.7, PHP 7.4

Lösningsförslag

Alrik's