Des livres incontournables pour tout maîtriser

  • CSS2
  • Réussir son site web avec XHTML et CSS
  • PHP 5 avancé
  • Memento CSS
  • Memento XHTML
  • Ergonomie web
  • Bien rédiger pour le web
Auteur
Pages :
cheucher50
# 21 Mar 2005 - 15:32:17
Citer
44 Posts
Bonjour,

je suis en train de valider et donc corriger mon site en xhtml 1.0. J'ai une page php qui me renvoie les infos de ma table. Cette table contient en fait des annonces que l'on m'envoie sur fichier word et que j'insère en copier-coller.

J'ai l'impression que les carctères copier-collés dans word me créent donc cette erreur dans le validateur non SGML character fache .

Existe t il une fonction php type qui me premettrait de renvoyer du texte propre ? Merci d'avance.

^
FlorentG
# 21 Mar 2005 - 15:33:03
Citer
904 Posts
Cet article devrait t'aider smile

Plus tu pédales moins vite, moins t'avances plus vite.

msn 
^
cheucher50
# 21 Mar 2005 - 15:47:47
Citer
44 Posts
oui, on a les correspondances sur le lien donné mais je ne vais pas m'amuser à chaque saisie à repérer les caractères spéciaux et taper le code. Je vais voir genre si on enregistre le fichier word en unicode et que l'on insère (un peu comme pour flash) si ça marche.

^
cheucher50
# 21 Mar 2005 - 15:53:55
Citer
44 Posts
marche pas !!!

^
ernstein
# 22 Mar 2005 - 17:58:17
Citer
626 Posts
Y'a des chances que ton probmème soit le résultat du copier collé d'un texte venant de word vers xhtml. Fais un test en passant par un fichier RTF et ouvre le sous wordpad afin de faire ton copier collé d'ici.

^
Nyro Xeo
# 22 Mar 2005 - 18:02:39
Citer
159 Posts
Change l'encodage de ta page. Par exemple si l'encodage est ANSI, mets :
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />


Si c'est UTF-8, mets :
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />


-={ Nyro Xeo }=-

^
chben
# 31 Mar 2005 - 11:22:25
Citer
31 Posts
Ce qui arrive, bien souvent, c'est que les apostrophes de word sont inconnues ar les navigateurs.
Et de fait, si tu fais attention, Word t'affiche (lorsque tu appuies sur la touche 4 pour faire une apostrophe) une belle apostrophe courbe.
Ouvre maintenant un fichier txt et fait une apostrophe, tu obtiens un vulgaire "bâton" vertical.

Autrement dit, Word converti les apostrophe "standard" en un caractère dont je n'ai pas réussi à trouver le code héxadécimal.

Et c'est ce qui bloque le validator.

Pour ma part en tout cas, c'est ce que j'ai eu à faire : faire un "remplacer par" pour toutes les apostrophes depuis un fichier txt avant d'enregistrer mes contenus en Base de données.

Tu me diras si ça marche mieux.

PS : bien que c'est l'apostrophe qui fait bloquer le validator, ce dernier affiche parfois que le caractère qui va pas est une autre lettre, un 'f', un 'c', je sais pas trop pourquoi mais c'est dû à une postrophe qui se trouve un peu avant ou après.

NB : c'est en tout cas le cas sur le projet que je suis en train de faire en ce moment même. Maintenant, cela vient peut être d'autre part !

http://www.insitaction.com 
^
Stephan
# 31 Mar 2005 - 11:26:24
Citer
3160 Posts
chben a écrit :

Autrement dit, Word converti les apostrophe "standard" en un caractère dont je n'ai pas réussi à trouver le code héxadécimal.

L'entité est &*rsquo; (sans l'astérisque) cligne

<edit />
Ce que tu appelles une « apostrophe standard » est en réalité un guillemet simple.
Modifié par Stephan (31 Mar 2005 - 11:28)

^
chben
# 31 Mar 2005 - 15:06:05
Citer
31 Posts
Oui, autant pour moi, j'ai appelé apostrophe "standard" une simple quote.
d'où les guillemets qui encadraient "standard"...

bref...
est-ce que ça a résolu le problème ? là est la question !

http://www.insitaction.com 
^
Stephan
# 01 Apr 2005 - 19:16:29
Citer
3160 Posts
chben a écrit :

bref...
est-ce que ça a résolu le problème ? là est la question !

Là est la question ! lol

^
cheucher50
# 04 Apr 2005 - 09:56:31
Citer
44 Posts
Pour infos, je suis toujours à la recherche d'une fonction php capable de faire le boulot de remplacement des caractères à ma place.

^
cheucher50
# 04 Apr 2005 - 10:04:52
Citer
44 Posts
Euh pour répondre à chben, pour l'instant je fais un dump de ma base de données dans un fichier texte et remplace les caractères invalides par leurs équivalents valides puis je réinsère le tout.

^
cheucher50
# 04 Apr 2005 - 14:23:34
Citer
44 Posts
bon, comme y avait pas ce que je cherchais j'ai fait une fonction php pour convertir automatiquement les caractères invalides. J'suis pas une star en php alors ça vaut ce que ça vaut, mais ça fonctionne. Et comme je suis partageur je vous file même le code :

<?php


//transformation des caracteres invalides de word en caracteres valides SGML

$sgml_carte = array(

"‚" => "‚",
"ƒ" => "ƒ",
"„" => "„",
"…" => "…",
"†" => "†",
"‡" => "‡",
"ˆ" => "ˆ",
"‰" => "‰",
"Š" => "Š",
"‹" => "‹",
"Œ" => "Œ",
"‘" => "‘",
"’" => "’",
"“" => "“",
"”" => "”",
"•" => "•",
"–" => "–",
"—" => "—",
"˜" => "’",
"™" => "™",
"š" => "š",
"›" => "›",
"œ" => "œ",
"Ÿ" => "Ÿ"

);

function sgmlconverter($str) {
global $sgml_carte;
return strtr(html_entity_decode($str), $sgml_carte);
}

?>

lol lol lol

^
cheucher50
# 04 Apr 2005 - 14:32:50
Citer
44 Posts
Ben, ça a pas marché ça a retranscrit le html dans mon post. Bon, ben j'arrive pas à trouver où on désactive le html.

turok Par contre j'ai trouvé un smiley bien délire...

^
PMingard
# 22 Apr 2005 - 18:00:29
Citer
37 Posts
Bonjour, moi j'ai un truc marrant également, le parser XHTML ne me valide pas certains caractères...

mais voyez vous-même :



Line 84, column 432: non SGML character number 146

...aux portes. Allez chercher les armes de vos amis à l&#146;étage au-dessus aprè



Sisi, vous avez bien vu, c'est pas un caractère spécial mais bien un "d" qui foire.

Pour plus d'info, regardez le validateur vous-même :

http://validator.w3.org/check?uri=http%3A%2F%2Fwww.final-fantasy.ch%2Fnewdesign%2FFf8%2Fff8soluce2.php

http://www.final-fantasy.ch 
^
Flyman30
# 23 Apr 2005 - 08:34:04
Citer
109 Posts
J'ai résolu le problèmes des codes spéciaux créés par Word par :

<meta http-equiv="content-type" content="text/html; codepage="1252" />


en lieu et place de

<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />


Ça fonctionne sans aucun problèmes cligne

@+

http://www.pierre-sempe.com msn 
^
PMingard
# 24 Apr 2005 - 10:05:56
Citer
37 Posts
J'ai finalement résolu mon problème.

Le parser de vérification XHTML ne me soulignait pas le texte à l'endroit de l'erreur mais une dizaine de caractères avant. Evidemment j'ai mis un moment à comprendre.

Mais c'était bien des caractères windows mal encodés.


Merci

++

http://www.final-fantasy.ch 
^
Bruntho
# 29 Apr 2005 - 10:02:02
Citer
17 Posts
Merci a toutes ces infos, ce problème vient de m'arriver et j'avais du mal a saisir ce que venait faire cette erreur qui n'arrivait que lorsque je changeais l'encodage...

Le problème c'est que si je mets UTF-8 mon lien vers Valid CSS ne fonctionne pas (j'ai une grosse erreur qui me dit de valider mon doc xml avant) et en iso-8859-1 ca fait des caractères vilains et donc du xhtml pas valide (mais un Valid CSS! qui peut etre vu) ... quel dilemme

Merci a tous.

^
Jep
# 29 Apr 2005 - 10:09:55
Citer
530 Posts
cheucher50 a écrit :
Pour infos, je suis toujours à la recherche d'une fonction php capable de faire le boulot de remplacement des caractères à ma place.


Un jour vous vous deciderez à utiliser Tidy :

> http://php.net/tidy

cligne

http://webdev.ibilab.net/ 
^
Mathis
# 04 May 2005 - 11:16:05
Citer
62 Posts
Bonjour,
Donc personne a une fonction PHP simple pour regler ce genre de probleme? ohwell
Merci

^
Pages :
Powered by Phedio v3.8.6 beta in 12.1 ms © dew