Vés al contingut

Plantilla:Str left/ús

De Viquidites

Descripció

[modifica el codi]
{{Str left|<cadena>|<nombre>}}

Dóna la subcadena <nombre> de caràcters des del començament de la cadena retallada (la subcadena té una longitud de <nombre>).

Si <nombre> no és vàlid o és buit, es retorna una cadena buida. Si no es defineix, s'agafa com a valor 1.

Limitacions

[modifica el codi]
  • Longitud fins a 500: El nombre màxim de caràcters que es tenen en compte de la subcadena és de 500, sense que doni cap missatge d'error. Només es poden extreure 500 caràcters encara que la <cadena> sigui més llarga.
  • {{ Str left | Lorem ipsum dolor sit amet | 10 }} → Lorem ipsu
  • {{ Str left | Lorem ipsum dolor sit amet | 1 }} → L
  • {{ Str left | Lorem ipsum dolor sit amet | 0 }}
  • {{ Str left | Lorem ipsum dolor sit amet | }}
  • {{ Str left | Lorem ipsum dolor sit amet }} → L
  • {{ Str left | Lorem ipsum dolor sit amet | 40 }} → Lorem ipsum dolor sit ametLorem ipsum do
  • {{ Str left | àçé | 2 }} → àç
    Aquest exemple demostra la seguretat d'aquesta plantilla amb el format UTF-8:

Exemples de les limitacions

[modifica el codi]

Totes les limitacions d'ús d'aquesta plantilla mostrades a continuació són fruit de l'actual implementació de la funció parser {{padleft:}} utilitzada en aquesta plantilla, que no filtra el seu tercer paràmetre que conté els caràctera utilitzats en farcir una cadena fins la longitud especificada (actualment compta de manera incorrecta els caràcters en extreure de la cadena padding, i mesura de manera incorrecta la seva longitud real; a més aquest paràmetre té una limitació de 500 bytes).

Els exemples següents mostren que aquesta plantilla no funciona correctament amb referències d'entitats de caràcters trobades al seu paràmetre de cadena:

  • {{ Str left | a&nbsp;c | 3 }} → a&n
    Hauria de mostrar "a c", però l'esmentada entitat de caràcter queda parcialment trencada, sense deixar espai per la "c" final.
  • {{ Str left | a&#66;c | 3 }} → a&#
    Hauria de mostrar "abc", però l'esmentada entitat de caràcter queda trencada parcialment, sense deixar espai per a la "c" final.
  • {{ Str left | a c | 3 }} → a c
    El resultat és correcte, tal com s'esperava.
  • {{ Str left | a&#32;c | 3 }} → a&#
    Aquest darrer exemple hauria de ser equivalent a l'anterior, però no ho és.

Vegeu també

[modifica el codi]

Plantilla:Vegeu també plantilles de cadena de text

  • Bugzilla:22555 - need for correcting padleft and padright functions, and to provide better string handling parser functions.