Formatage de code <pre>, wordwrap, etc... - PHP - Programmation
Marsh Posté le 02-04-2005 à 18:18:19
et qq chose du genre :
1- tu fais wordwrap($str,4,\n,0);
2- si dans la phrase ainsi decoupé il y a des "mots" trop longs, alors wordwrap($str,4,\n,1);
Autre solution, plus elegante : en programmation , il y a d'autre séparateurs que les retours a la ligne ( ;, ) {}
Marsh Posté le 02-04-2005 à 18:32:31
flo850 a écrit : et qq chose du genre : |
Tu voudrais dire que je la passe dans deux wordwrap avec des paramètres différents? Ca dois pouvoir marcher je vais essayer et si ca marche merci et je suis un co*.
flo850 a écrit : |
En revanche je ne vois pas très bien ce que tu veux dire ici...
Marsh Posté le 02-04-2005 à 20:19:43
c pour presenter correctement des morceaux de code ?
tu ne te base , pour le momentque sur le caractère de fin de ligne pour les césures, alors que tu pourrai aussi e baser sur d'autres caractères
Marsh Posté le 02-04-2005 à 17:53:14
Bon alors voilà je travail donc actuellement sur un forum et en fait lorsqu'un visiteur veut afficher du code, celui ci est placé entre les balises <pre> et </pre> histoire de faire ca de facon "conforme" afin d'avoir les espaces et tabulation en début de ligne.
Cependant le problème est que tant qu'il n'y a pas de retour à la ligne dans la chaine, il n'y en a pas non plus dans le rendu donc ca detruit quelque peu voir beaucoup le design de la page.
Donc j'ai étudié quelques solutions:
CSS:
Cette solution fonctionne sur certains navigateurs mais pas d'autre et comme je souhaite assurer un maximum de compatibilité cette solution ne me convient pas.
Ensuite j'ai cherché des solutions a travers le net, et tout ce que j'ai trouvé c'est un script en js qui refait le formatage une fois la page chargée. L'ennui est que durant le chargement le design est quelque peu étrange et ce script allourdi de facon suffisament importante le poids de la page pour que je choississe de ne pas l'utilisé.
Alors comme toutes ces solutions coté client n'ont pas fonctionné, je me suis tourné vers une solution coté serveur, donc php (ce pourquoi je poste ici). J'ai pensé que wordwrap irait bien, cela dit il y a encore problème.
Je m'explique:
Si par exemple j'ai le code suivant
Et bien la chaine n'est pas découpée mais laissée en entier.
--------
Ca fonctionne bien.
L'ennui c'est qu'avec ce code, les mots qu'il suffirait de placer à la ligne suivante sont barebarement coupés en deux ce qui enlève de la lisibilité.
Alors voilà après avoir fait moulte tentatives avec diverses solutions je me demandais comment pouvait on faire pour que:
- Un mot dont la longeure est trop grande soit coupé en deux
- Un mot qu'il suffit de placé à la ligne suivante soit placé a cette ligne plutot que coupé en deux
Merci bien!
Et bonne soirée à tous.
Message édité par dwogsi le 02-04-2005 à 21:37:43
---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/