Partage
  • Partager sur Facebook
  • Partager sur Twitter

Arrive pas à nettoyer le code HTML produit LibreOffice

Problèmes d'espaces, tabulations et retour de chariot.

Sujet résolu
11 février 2011 à 14:19:04

Bonjour à tous,
ça fait des mois que ça dure, et là, j'en ai eu plus que mare. Quelque fois ça marche, le jour suivant ça marche plus, bref, j'ai décidé de mettre ça au clair une fois pour toute !
Voilà, je récupère du code HTML produit par LibreOffice (ou Open office c'est pareil) pour le transformer en bbcode.
Donc, la première chose à faire :
1) Nettoyer le code HTML de toute ses tabulations et à la ligne. En effets, il y a un a la ligne ... disons tout les 3 mots. Et c'est là que ça ce corse, il y a quelque fois un espace + un a la ligne, quelquefois un un a la ligne + une tabulation, bref, si je fais remplacer les \n par des espaces, j'ai des immenses espaces, et si je fais remplacer \n par '', j'ai beaucoup de mots collés.
Donc, là, ce que je voudrais faire, c'est ne permettre que les espaces, et de nettoyé les doubles espaces. Pour ... Et justement, j'ai un problème pour les tabulations, quelle classe faut-il utiliser pour représenter les tabulations dans une expression régulière ?
Merci d'avance.
PS
Si vous avez des (bonnes) idées, n'hésitez pas, j'en ai besoin ! ^^
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
11 février 2011 à 14:36:50

Citation : Dominique0796

si je fais remplacer les \n par des espaces, j'ai des immenses espaces


Suffit de passer quelques coups de str_replace(' ', ' '
et hop, t'as plus d'espaces doubles.

Citation : Dominique0796

Et justement, j'ai un problème pour les tabulations, quelle classe faut-il utiliser pour représenter les tabulations dans une expression régulière ?


Pourquoi utiliser une expressions régulières? str_replace("\t", ' '
  • Partager sur Facebook
  • Partager sur Twitter
11 février 2011 à 14:46:02

Citation : Victor

Pourquoi utiliser une expressions régulières


Heu ... Je veux dire pour la ce que la doc apel un "masque" . Je ne sais pas comment appelé ça, mais enfin, je pensais que "\t" "\n" étaient appelés "expressions régulières" ... Vous appelez ça comment alors ? Un masque ? une regex ?
Et merci pour le "\t", c'est ce que je cherchais !
Hum, j'ai bien fait un tour à la doc, mais je ne sais pas quel mot clé utilisé ...
Note bien, peut-être que c'est précisé dans la section pour les regex ...
J'essaye déjà avec ça ...
Merci beaucoup.
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
11 février 2011 à 14:50:30

\t et \n sont des caractères, pas des masques, pas des REGEX.
  • Partager sur Facebook
  • Partager sur Twitter
11 février 2011 à 14:59:24

PAs des caractères normaux alors ... Déjà ils sont invisibles ... Et puis on ne les utilisent qu'avec des guillemets et pas des apostrophes ... On les appelle des caractères tout courts ? :p
Ou pourrais-je trouver la liste de ses caractères ... heu ... disons spécial ?
Merci bien.
PS
Je suis en train de travailler sur le code ... J'ai quelques problèmes ... je fini mes essais et je fait le bilan .
A tout de suite.
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
11 février 2011 à 15:01:58

Citation : Dominique0796

PAs des caractères normaux alors ... Déjà ils sont invisibles ... Et puis on ne les utilisent qu'avec des guillemets et pas des apostrophes ... On les appelle des caractères tout courts ? :p
Ou pourrais-je trouver la liste de ses caractères ... heu ... disons spécial ?
Merci bien.
PS
Je suis en train de travailler sur le code ... J'ai quelques problèmes ... je fini mes essais et je fait le bilan .
A tout de suite.


Non, c'est pas des "caractères spécial" mais des caractères de contrôle. Cf. http://en.wikipedia.org/wiki/Control_character
  • Partager sur Facebook
  • Partager sur Twitter
11 février 2011 à 15:39:36

Bon, ton idée était bonne ... seulement, c'est un autre problème que j'ai et que j'attribuait à la traduction vers le bbcode. En fait, je viens de remarqué que, dans le code html, le dernier <br /> d'un <ul> prend un plus grand espace que les autres !!! Ca fait une demi heure que je me casse la tête à chercher ce qui pourrait bien faire ça ...
A ton avis ?
Je fait un petit tour dans le design en même tant voir si il n'y aurait rien ... Peut-être un line-height ?
  • Partager sur Facebook
  • Partager sur Twitter
28 novembre 2024 à 20:41:49 - Message modéré pour le motif suivant : Merci de créer votre propre sujet


28 novembre 2024 à 21:17:45

@AndrewGeorges Bonsoir, merci de ne pas squatter le sujet résolu des autres pour une nouvelle question, créer votre propre sujet dans le respect des règles du forum à savoir qu'un message commence par des règles de politesses (Un bonjour ou des salutations à la communauté et se termine par des remerciements par avances pour les futures réponses), la description de votre problème et le code que vous avez écrit inséré sur le forum à l'aide de l'outil d'intégration de code soit le bouton code </>

Je ferme ce déterrage.

Le message qui suit est une réponse automatique activée par un membre de l'équipe de modération. Les réponses automatiques leur permettent d'éviter d'avoir à répéter de nombreuses fois la même chose, ce qui leur fait gagner du temps et leur permet de s'occuper des sujets qui méritent plus d'attention.
Nous sommes néanmoins ouverts et si vous avez une question ou une remarque, n'hésitez pas à contacter la personne en question par Message Privé.

Pour plus d'informations, nous vous invitons à lire les règles générales du forum

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Liens conseillés

  • Partager sur Facebook
  • Partager sur Twitter