Como fazer HTML escrito por usuários em um site, e não conflito com folhas de estilo do site?

StackOverflow https://stackoverflow.com/questions/1133501

Pergunta

Eu tenho um site que permite que um usuário para criar posts. Existem algumas tags backlisted mas a maioria das tags HTML padrão são aceitáveis.

No entanto, estou tendo problemas com a forma como as páginas são exibidas.

I manter o HTML envolto em seu próprio div.

eu acabaria como para manter o código HTML que o usuário separar as folhas de estilo principais locais para que ele possa evitar estilos de herança e estragar o layout do site de origem onde o HTML está sendo exibido.

Assim, no final, há alguma coisa que eu possa aplicar a um div para que seus conteúdos são colocados em quarentena do resto do site?

Obrigado!

Foi útil?

Solução

Você pode usar uma folha de estilo de reset para repor as propriedades para que DIV específica e é crianças. E, por outro lado, você provavelmente vai precisar de um analisador CSS para ajustar estilo do usuário para que DIV específico.

Outras dicas

Você pode fazê-lo em um quadro ou um iframe. Isso vai mantê-lo separado em todos os sentidos.

Você poderia formatar cada conteúdo gerado pelo usuário com um div de classe 'username' para além de quaisquer outros nomes de classes que você pode adicionar automaticamente?

Em seguida, eles -Eu assumir 'they'- pode formatar e estilo como quiserem, podem ter todos os seus estilos prefaciado assim:. div.username selector

Caso contrário, você pode ser capaz de iframe de uso.

Você pode usar um iframe para mantê-los completamente separar se você realmente queria ser extrema sobre o assunto.

Ou, você pode restringi-los apenas para escrever estilos inline para que eles não podem afetar a folha de estilo da sua página:

1) tira fora todas as tags estilo HTML que o usuário cria. Dessa forma, eles não podem substituir seus estilos.

2) validar o seu código e corrigir ou rejeitar coisas como tags ou elementos não fechadas que não deveriam estar dentro de uma div (como tags de cabeça ou no corpo) e certifique-se tudo fica bem fechada por isso não pode mexer-se qualquer html de sua página após a div que está contido no.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top