marcusc 0 Denunciar post Postado Janeiro 17, 2007 Fala Fórum, Estou precisando converter caracteres especiais de uma string para HTML entities. Estava dando uma olhada no htmlspecialchars() e no htmlentities() só que pelo que me parece ambas não tem a inteligência em uma string do tipo <a href='#'>áçóê</a> converter somente "áçóê" para entities, preservando assim o código do HTML. Em java eu uso uma classe https://htmlentities.dev.java.net/ que me atende perfeitamente para este requesito. Minha dúvida é: dá pra fazer oq eu preciso com essas funções passando o charset e preservando as tags html, css, etc? Ou eu vou precisar fazer um parse disso? Abs, Marcus Cavalcanti Compartilhar este post Link para o post Compartilhar em outros sites
Rodrigo Pacheco 0 Denunciar post Postado Janeiro 17, 2007 você pode transformar o que você quer passar para entities em variavel.tipo:$palavra = htmlspecialchars($qqcoisa);depois:echo "<a href='#'>".$palavra."</a>"; Compartilhar este post Link para o post Compartilhar em outros sites
alex.ve 0 Denunciar post Postado Janeiro 17, 2007 Ve se isso te ajuda: function tirar_acentos( $dado ) { // $dado = trim( str_replace( "\'", "", $dado) ); // $dado = str_replace( "'", "", $dado ); $dado = str_replace( "–", "-", $dado ); $dado = str_replace( "ç", "c", $dado ); $dado = str_replace( "Ç", "C", $dado ); $dado = ereg_replace( "[áàâã]", "a", $dado ); $dado = ereg_replace( "[ÁÀÂÃ]", "A", $dado ); $dado = ereg_replace( "[éèê]", "e", $dado ); $dado = ereg_replace( "[ÉÈÊ]", "E", $dado ); $dado = ereg_replace( "[íìîï]", "i", $dado ); $dado = ereg_replace( "[ÍÌÎ]", "I", $dado ); $dado = ereg_replace( "[óòôõ]", "o", $dado ); $dado = ereg_replace( "[ÓÒÔÕ]", "O", $dado ); $dado = ereg_replace( "[úùû]", "u", $dado ); $dado = ereg_replace( "[ÚÙÛ]", "U", $dado ); return $dado; } Compartilhar este post Link para o post Compartilhar em outros sites
marcusc 0 Denunciar post Postado Janeiro 18, 2007 Fala galera,Na verdade eu não preciso retirar os acentos, e sim substitui-los por HTML entities.No caso do rodrigo não serve, pq eu tenho uma string que guarda um HTML inteiro de um template por exemplo, então eu preciso substituir em toda essa string em ocorrências que NÃO sejam html, css, js .. por entities, no caso só as palavras.Acho que provavelmente não existe algo parecido em PHP como eu encontrei em java, acho que vou ter que perder um tempinho fazendo isso com ER. Compartilhar este post Link para o post Compartilhar em outros sites
Darkk 1 Denunciar post Postado Março 22, 2008 O post parece que tá passado, mas como eu cheguei aqui com a mesma dúvida (mas achei a resposta), vou postar aqui o que eu consegui caso alguém mais precise: Vamos criar uma string com código html: CODE $string = "<a href=\"#\" target=\"_blank\">Este é o link da acentuação</a>"; Esta função converte somente os caracteres <>'"& CODE echo htmlspecialchars($string); Retorna: <a href="#" target="_blank">Este é o link da acentuação</a> Esta função converte todos os caracteres possíveos de serem convertidos para entities: CODE echo htmlentities($string); Retorna: <a href="#" target="_blank">Este é o link da acentuação</a> Converte tudo para entities e "des"converte os caracteres <>'"& CODE echo htmlspecialchars_decode(htmlentities($string)); Retorna: <a href="#" target="_blank">Este é o link da acentuação</a> Qualquer coisa, é só copiar e testar no servidor, e depois, exibir o código-fonte. Abraços! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites