Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
olá amigos...
tenho um formulário que grava informações no banco e no campo título tem a função addslashes() que adiciona contra barras a caracteres especiais, mas na hora de exibir dá um problema, não mostra todo o título.
ex:
registro do banco de dados
titulo = Imasters - "the best"
estou usando esta informação em um link, e quando dou um echo no link aparece assim:
Imasters - "the best" mas no title do link aparece assim Imasters -
detalhe, já usei todas as funções que encontrei: addslashes, mysql_real_scape, htmlentities, htmlspecialchars, etc..
detalhe, na hora de gravar o titulo no banco de dados uso o addslaches e no banco aparece certinho, assim: Imasters - \"the best\"
>
Poste o código que você usa para exibir (pegar do banco e mostrar na tela) esses dados.
while ($dados = $qr->fetchObject()) {
?>
<img alt="<?php echo $dados->titulo; ?>" src="<?php echo $urlBase; ?>/scripts/php/timthumb.php?src=<?php echo $dados->link_imagem; ?>&h=180&w=300&zc=1" />
<h3>
<a href="<?php echo "$urlBase/$dados->categoria_slug/$dados->subcategoria_slug/$dados->titulo_slug"; ?>" title="<?php echo $dados->titulo; ?>">
<?php echo stripslashes($dados->titulo); ?>
</a>
</h3>
<p>
<?php echo limitaTexto(strip_tags($dados->texto), 360, TRUNC_DEPOIS_TAMANHO); ?>
</p>
<?php
}tente usar o stripslashes
>
tente usar o stripslashes
Célio. o problema tá, que não exibe o title do link direito, e na página de edição de posts o campo input text não é preenchido corretamente, por causa destas aspas, já tentei o stripslashes, mysql_real_scape, htmlentities, htmlspecialchars, mas nada funcionou...
da um var_dump($dados);
veja como ta vindo esses objetos!!
ja tento pega como Array? (vai faze diferença nenhuma + num custa nd tenta =X). kkkkk
num seria so?echo $dados->titulo;
eu tava usando stripslashes para tirar a contra barra que grava no banco.
fiz o que você disse retornou o seguinte: string 'PG - "Meu Universo"' (length=19)
fiz um teste aqui, e notei que o atributo title e inputs só aceitam valores com aspas simples, mesmo escapando com contra barra não dá certo. o jeito é criar uma função para o title do link e dos inputs...
os dados ta vindo certim pelo que você mostro..
função ja existem muitas pra solucionar esse pequenino problema..
acho q esse topico morre aqui kkk..
$title = str_replace('"', "'", 'so um texto com - "aspas duplas"');
echo '<a title="'.$title.'">Title com aspas U.u</a>';O correcto seria ao guardar na base de dados usar o mysql_real_escape_string, assim os dados são guardados direito e quando for pegar não precisa fazer nada, apenas mostrar directo.
No entanto, se o problema persistir aconselho ao guardar a usar o htmlentities e ao mostar no html o inverso html_entity_decode.
>
os dados ta vindo certim pelo que você mostro..
função ja existem muitas pra solucionar esse pequenino problema..
acho q esse topico morre aqui kkk..
$title = str_replace('"', "'", 'so um texto com - "aspas duplas"');
echo '<a title="'.$title.'">Title com aspas U.u</a>';
foi exatamente o que fiz, pensamos a mesma coisa, hehe..
fiz um teste aqui, e notei que o atributo title e inputs só aceitam valores com aspas simples, mesmo escapando com contra barra não dá certo. o jeito é criar uma função para o title do link e dos inputs...
essa eu não sabia
>
essa eu não sabia
eu tambem não, mas é como dizem, vivendo e aprendendo.
Poste o código que você usa para exibir (pegar do banco e mostrar na tela) esses dados.