Esta é uma subpágina de documentação para Predefinição:Str left (Clique na ligação se você quer vê-la diretamente). Ela contém informações sobre o uso, categorias e outros conteúdos que não são parte da predefinição propriamente dita. |
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
editarTodas 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
editarUma 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
editar- 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}}