Predefinição:Str left
Esta predefinição é usada em mensagens do sistema. Mudanças feitas aqui podem causar mudanças imediatas na interface de usuário da Wikipédia. Para evitar grandes transtornos, quaisquer mudanças devem ser testadas nas subpáginas /Testes ou /Exemplos para testes da predefinição, ou em sua própria subpágina de usuário. As mudanças testadas podem ser adicionadas a esta página em uma única edição. Por favor, discuta as mudanças na página de discussão antes de implementá-las. |
Esta predefinição é usada em mais de 21 000 páginas e as alterações em seu conteúdo serão amplamente notadas. Por favor, teste as alterações na subpágina de testes desta predefinição, em sua subpágina da predefinição de testes ou na subpágina de testes em seu espaço usuário. Considere discutir mudanças na página de discussão antes de implementá-las. |
Uso
{{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
- 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
{{ 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
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 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 | aBc | 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 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
Uma predefinição para fornecer a substring de <contagem> caracteres a partir do início da string cortada
Parâmetro | Descrição | Tipo | Estado | |
---|---|---|---|---|
String | 1 | A string a ser cortada e contada | String | obrigatório |
Contagem | 2 | Fornece a ''substring'' de <contagem> caracteres a partir do início da string cortada | Número | obrigatório |
Ver também
- Bugzilla:22555 (histórico; necessidade de corrigir as funções padleft/padright e fornecer melhores funções do analisador do manipulador de strings) (em inglês)
- {{Título em itálico}}
- {{minúscula}}