begin process at 2012 02 14 02:23:50
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Chaîne de caratère

 > EVITER LA DEFORMATION D'UN TABLEAU

EVITER LA DEFORMATION D'UN TABLEAU


 Information sur la source

Note :
Aucune note
Catégorie :Chaîne de caratère Niveau :Débutant Date de création :09/08/2003 Date de mise à jour :09/08/2003 21:08:56 Vu :4 901

Auteur : Tortuegeniale

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (12)
Ajouter un commentaire et/ou une note


 Description

Je poste cette source car celle de eax comporte des erreurs et ne respecte pas la mise en forme du texte.

Cette source empeche de déformer le texte si un mot est par exemple comme ça :

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaa

(si rien ne vous choque c'est que nix a corrigé l'erreur lol)

Donc ma source analyse chaque mot, et si il est trop long le coupe (si le mot coupé est trop long alors il est recoupé et rerererecoupé si besoin est)

Source

  • function anti_deforme($texte,$limit)
  • {
  • $le_texte = explode(" ", $texte);
  • $the_text = "";
  • for($compt = 0 ; $compt<=count($le_texte) ; $compt++)
  • {
  • if (strlen($le_texte[$compt]) > $limit)
  • {
  • $le_mot = substr($le_texte[$compt],0,$limit);
  • $le_mot_2 = substr($le_texte[$compt],$limit+1);
  • $the_texte .= " ".$le_mot;
  • if (strlen($le_mot_2) > $limit)
  • {
  • while (strlen($le_mot_2) > $limit)
  • {
  • $le_mot_2_coupe = substr($le_mot_2,0,$limit);
  • $le_mot_2 = substr($le_mot_2,$limit);
  • $the_texte .= " ".$le_mot_2_coupe;
  • if (strlen($le_mot_2) < $limit)
  • {
  • $the_texte .= " ".$le_mot_2;
  • }
  • }
  • }
  • else
  • {
  • $the_texte .= " ".$le_mot_2;
  • }
  • }
  • else
  • {
  • $the_texte .= " ".$le_texte[$compt];
  • }
  • }
  • return nl2br($the_texte);
  • }
  • Vous pouvez aussi ajouter cette css dans le tableau pour empecher la déformation du tableau au cas ou
  • .tab{
  • word-wrap : break-word;
  • word-break : break-all;
  • }
function anti_deforme($texte,$limit)
{
	$le_texte = explode(" ", $texte);
	$the_text = "";

		for($compt = 0 ; $compt<=count($le_texte) ; $compt++)
		{
			if (strlen($le_texte[$compt]) > $limit)
			{
				$le_mot = substr($le_texte[$compt],0,$limit);
				$le_mot_2 = substr($le_texte[$compt],$limit+1);
				
				$the_texte .= " ".$le_mot;
				
				if (strlen($le_mot_2) > $limit)
				{
					while (strlen($le_mot_2) > $limit)
					{
						$le_mot_2_coupe = substr($le_mot_2,0,$limit);
						$le_mot_2 = substr($le_mot_2,$limit);
						$the_texte .= " ".$le_mot_2_coupe;
						
						if (strlen($le_mot_2) < $limit)
						{
							$the_texte .= " ".$le_mot_2;
						}
					}
				}
				else
				{
					$the_texte .= " ".$le_mot_2;
				}
			}
			else
			{
				$the_texte .= " ".$le_texte[$compt];
			}
		}
	return nl2br($the_texte);
} 


Vous pouvez aussi ajouter cette css dans le tableau pour empecher la déformation du tableau au cas ou

.tab{
	word-wrap : break-word;
	word-break : break-all;
}

 Conclusion

Utilisation : anti_deforme($ligne-&gt;news,35);

J'espere que ça vexera pas eax que je mette cette source juste aprés la sienne, c t pas le but lol

Source testé et qui marche.

Bon coding :D


 Sources du même auteur

Source avec Zip Source avec une capture TOUT SUR LES IMAGES DYNAMIQUES
Source avec une capture IMAGE DYNAMIQUE ET MAPPING : LA GRILLE DU LOTO
Source avec Zip Source avec une capture FLASH ET PHP : ÉBAUCHE DE LIVRE D'OR POUR VOIR COMMENT ÇA MA...
EXPRESSIONS RÉGULIÈRES TOUTES PRÊTES
MMAIL() POUR FREE.FR

 Sources de la même categorie

ADRESSE ABSOLUE DE LA PAGE EN COURS, AVEC VARIABLES $_GET par Dariumis
Source avec Zip CLASSE D'OBJET DE RECHERCHE DE MOTS DANS DES TABLEAUX ET/OU ... par 8Tnerolf8
RÉCUPÉRER LES MINIATURES D'UNE VIDÉO YOUTUBE par tefa24600
Source avec Zip Source avec une capture CONVERTISSEUR DE NOMBRES EN TEXTE par macruz
Source avec Zip Source avec une capture CODAGE TEXTE >HTML, ISO, SPECIALCHARS, URL ET DECODAGE par Salva9473

Commentaires et avis

Commentaire de matrey le 09/08/2003 22:31:24

et pkoi pas utiliser tt simplement la fonction de PHP :

wordwrap()

Commentaire de eax le 09/08/2003 23:40:41

moi vexé ? lol jsuis plutot content que tu m'aides à corriger mes erreurs :)
au fait c quoi mes erreurs lol?
g compris comment fonctionne ton code mais je comprends pas ce que tu entends par mise en forme du texte

Commentaire de Tortuegeniale le 10/08/2003 01:11:25

matrey&gt; bah moi perso c parceque worwarp j'aime pas sa mise en forme, il trouve 75 caracteres et hop il va en dessous, alors que ma fonction elle ne va pas pas a la ligne, elle ajout juste un espace. Je trouve que ça fais des espaces vide en moins dans les gros textes lol. J'ai testé les 2 et la mise ne page de mon script je prefere, question de gout lol

Oui on appele ça réinventer la roue lol

Eax&gt; je poste les erreurs sur ta source.

tain l'est loin le bouton pour poster lol

Commentaire de Jackboy le 10/08/2003 05:16:58

ouin ben nix trouve un exemple semblable en aspx, car ici le besoin est !!!! héhé

Commentaire de iubito le 16/08/2003 11:29:21

le truc il faut pas que ça compte les & e a c u t e ; comme 7 caractères mais un seul, et aussi ne pas couper les url !!!!
et wordwrap de PHP coupe les url, voir ici pour quelque fonctions écrites par des utilisateurs ;) rien testé mais à voir quand même

http://fr.php.net/word_wrap

Commentaire de Tortuegeniale le 17/08/2003 12:08:55

ma fonction coupe le texte brute, pas un texte html donc a se niveau la ça va, je regarderai pour les url quand j'aurai le temps, c pas con ça j'a v oublié ;) merci de l'idée lol

Commentaire de Urukai1 le 18/08/2003 13:29:32

salut
ya un toute petite rreur dans ton  code
lorsque tu coupes avec
"$le_mot = substr($le_texte[$compt],0,$limit);
                $le_mot_2 = substr($le_texte[$compt],$limit+1);"

la deuxieme partie du mot est tronqué du premier carcatere
exemple : bonjour devient bon our au lieu de bon jour

il faut virer $limit+1 et remplacer par $limit
il faut simplement mettre
"$le_mot = substr($le_texte[$compt],0,$limit);
                $le_mot_2 = substr($le_texte[$compt],$limit);"

merci pour ce code

Commentaire de Tortuegeniale le 20/08/2003 14:38:11

En effet j'avais pas vu, merci de l'info :)

Je viens de tester : Si vous oublier d'entrer une limite, le script boucle infiniment et surchauffe apache lol(95 à 99 % de cpu utilisé) donc pas de bétise lol

Commentaire de madvic le 01/12/2003 23:26:44

Y'aurais pas une fonction qui limite en largeur et en hauteur ?

Commentaire de iubito le 02/12/2003 05:53:47

bein là tu limites le nb de caractères à entrer

Commentaire de eax le 03/02/2006 10:10:07

salut tortuegeniale
tain ça fait un bail que gt pas venu sur ce site,
aurais-tu une fonction similaire qui gère les balises et caractères spéciaux (pour pas les couper sinon c pas beau ;) ?

Commentaire de iubito le 03/02/2006 11:30:30

regarde sur http://fr.php.net/word_wrap les codes en bas :)

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,465 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales