28172 sujets

CSS et mise en forme, CSS3

Bonjour,

j'ai vu pas mal de sujets à propos du syndrôme du "Supercalifr...".

Pour ceux qui ne parlent pas le Mary Poppins, c'est le retour à la ligne qui ne s'effectue pas si une chaine ne contient pas d'espace (sous firefox).

Après pas mal de recherches j'ai trouvé deux solution :

Emulating CSS word-wrap for Mozilla/Firefox/


Demo

Il ne faut pas oublier d'ajouter word-wrap: break-word; dans la classe shortWidth pour que ça fonctionne sur IE et Safari.


---------------------------------------------


Ou via PHP


		
function wrap($string, $maxWordLength)
		{
				if($maxWordLength > 0)
				{
						$pattern = '/(\S{'.$maxWordLength.',}?)/';
						$replacement = '$1­';
						$string = preg_replace($pattern, $replacement, $string);
				}
		
				//now encode special chars but dont encode ­
				$string = preg_replace(array('/\&(?!shy\;)/','/\"/',"/\'/",'/\</','/\>/'), array('&amp;','&quot;','&#039;','&lt;','&gt;'), $string);
		
				echo $string;
		}



Smiley murf
Modifié par naptiv (23 Feb 2009 - 01:20)