Saltar para o conteúdo

Predefinição:Str left

Wikisource, a biblioteca livre
Documentação da predefinição[ver] [editar] [histórico] [purgar]

Uso

[editar]
{{Str left|<string>|<contagem>}}

Cria uma substring de caracteres, resultante do número de caracteres especificado em <contagem>, a partir do início da string cortada (ou seja, a substring retornada terá comprimento especificado em <contagem>, excluindo os caracteres de espaço em branco à esquerda, que são cortados primeiro antes de <contagem> ser invocado).

Se <contagem> for inválido, vazio ou zero, uma string vazia será retornada. Se indefinido, o padrão é 1.

Limitações

[editar]
  • Comprimento até 500: A substring máxima para em 500 caracteres, mas não fornece nenhuma mensagem de erro. Apenas 500 caracteres podem ser extraídos mesmo que a <string> seja maior.
  • Econômica (não usa outras predefinições).

Exemplos

[editar]
  • {{ Str left | Lorem ipsum dolor sit amet | 10 }} → Lorem ipsu
  • {{Str left|   Lorem ipsum dolor sit amet | 4 }} → Lore, (observe os espaços iniciais aparados!)
  • {{ 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 }} → àç
    Este exemplo está demonstrando a segurança desta predefinição com a codificação UTF-8 (isso deve funcionar agora):

Exemplos das limitações

[editar]

Todas as limitações de uso, para esta predefinição, mostradas abaixo são causadas pela implementação atual da função {{padleft:}} do analisador usada nesta predefinição, que não filtra seu terceiro parâmetro contendo os caracteres usados para preencher uma string para o comprimento especificado (ele atualmente conta incorretamente os caracteres a serem extraídos da string de preenchimento e mede incorretamente seu comprimento efetivo; além disso, esse parâmetro é limitado a 500 bytes).

Os exemplos a seguir estão demonstrando que esta predefinição não interpreta referências de entidade de caractere como o caractere que elas representam. Ela os trata como vários caracteres e pode deixá-los truncados.

  • {{ Str left | a&nbsp;c | 3 }} → a&n
    A saída "a c" pode ter sido pretendida, mas a entidade de caractere nomeada foi truncada, não deixando nenhum comprimento disponível para o "c" final.
  • {{ Str left | a&#66;c | 3 }} → a&#
    Isso deveria exibir "abc", mas a entidade de caractere nomeada foi truncada, não deixando nenhum comprimento disponível para o "c" final.
  • {{ Str left | a c | 3 }} → a c
    O resultado está correto, como esperado.
  • {{ Str left | a&#32;c | 3 }} → a&#
    Este último exemplo deveria ser equivalente ao anterior, mas não é.

Esta predefinição apagará as marcações (tags) nowiki sem contar seu comprimento:

  • {{ Str left | a<nowiki/>bcd | 3 }} → abc
    Retorna três caracteres como esperado
  • {{ Str left | a<nowiki>E</nowiki>bcd | 3 }} → abc
    Retorna três caracteres, mas não aEb como seria de esperar.
  • {{ Str left | a<nowiki/>bc | 10 }} → abcabcabca
    Retorna 10 caracteres como esperado.

Comentários da HTML e as tags de marcação wiki "noinclude", "includeonly" e "onlyinclude" também são ignoradas, porque são pré-processadas nos parâmetros da predefinição, antes de serem incluídas substituindo os parâmetros:

  • {{ Str left | a<noinclude/>bc | 3 }} → abc
  • {{ Str left | a<!-- comment -->bc | 3 }} → abc

Observe também que o comprimento especificado fará com que a string de entrada seja preenchida repetindo-a, se esse comprimento for maior que o comprimento da string de entrada:

  • {{ Str left | Abc. | 10 }} → Abc.Abc.Ab

Dados da predefinição

[editar]

Uma predefinição para fornecer a substring de <contagem> caracteres a partir do início da string cortada

Parâmetros da predefinição[Editar dados da predefinição]

ParâmetroDescriçãoTipoEstado
String1

A string a ser cortada e contada

Stringobrigatório
Contagem2

Fornece a ''substring'' de <contagem> caracteres a partir do início da string cortada

Númeroobrigatório

Ver também

[editar]