Coupure du texte

More
8 years 7 months ago #1375 by kim
Coupure du texte was created by kim
Manu,
Est-ce qu'il serait possible de couper la chaine de caractère sans le couper au milieu du mot?
Ca éviterai d'avoir des textes d'intro bizarre.
Et aussi si la limite de la chaine est supérieur au texte entier, ne pas ajouter les 3 petits points...
Je ne trouve pas le fichiers où y'a ce code php (striptagsandcut), sinon, j'aurai essayé de corriger çà avec ma tronçonneuse.

Please Log in or Create an account to join the conversation.

More
8 years 7 months ago #1376 by vistamedia
Replied by vistamedia on topic Coupure du texte
C'est vrai, j'ai eu un peu la flemme sur ce coup là ...
Je vais ajouter ça à ma liste des taches. Mais là je vais me coucher ;)
Bonne nuit,
Manu.

PS: c'est dans components/com_flexicontent/classes/flexicontent.helper.php
Le problème c'est toujours la manipulation des chaines en UTF8 (pour eux par exemple http://www.flexicontent.org/downloads/translations/item/143-chinese-simplified.html ).

FLEXIcontent lead developer.
http://www.vistamedia.fr web agency and custom development.
http://www.joomla.fr co-administrator.
Please no PM for support request, use the forum for that!!!

Please Log in or Create an account to join the conversation.

More
8 years 3 months ago #6033 by vlester
Replied by vlester on topic Coupure du texte
Au cas où tu n'aurais pas trouvé la solution, je viens de tester ce qui suit et ça fonctionne.
Dans le fichier helper.php j'ai remplacé ça
	function striptagsandcut( $text, $chars=null )
	{
		// first strip html tags
		$cleantext = strip_tags($text);

		// clean additionnal plugin tags
		$patterns = array();
		$patterns[] = '#\[(.*?)\]#';
		$patterns[] = '#{(.*?)}#';
		$patterns[] = '#&(.*?);#';
		
		foreach ($patterns as $pattern) {
			$cleantext = preg_replace( $pattern, '', $cleantext );
		}
		
		$length = JString::strlen(htmlspecialchars( $cleantext ));

		// cut the text if required
		if ($chars) {
			if ($length > $chars) {
				$cleantext = JString::substr( htmlspecialchars($cleantext, ENT_QUOTES, 'UTF-8'), 0, $chars ).'...';
			}
		}
		
		return $cleantext;
	}
par ça :
function striptagsandcutlead( $text, $chars=null )
	{
		// first strip html tags
		$cleantext = strip_tags($text);

		// clean additionnal plugin tags
		$patterns = array();
		$patterns[] = '#\[(.*?)\]#';
		$patterns[] = '#{(.*?)}#';
		$patterns[] = '#&(.*?);#';
		
		foreach ($patterns as $pattern) {
			$cleantext = preg_replace( $pattern, '', $cleantext );
		}
		
		$max=600;
 if (strlen($cleantext) > $max) {
$cleantext = substr($cleantext, 0, $max);
 $espace = strrpos($cleantext, " ");
 $cleantext = substr($cleantext, 0, $espace)."...";
 }

		
		return $cleantext;
	}
	
	
		function striptagsandcut( $text, $chars=null )
	{
		// first strip html tags
		$cleantext = strip_tags($text);

		// clean additionnal plugin tags
		$patterns = array();
		$patterns[] = '#\[(.*?)\]#';
		$patterns[] = '#{(.*?)}#';
		$patterns[] = '#&(.*?);#';
		
		foreach ($patterns as $pattern) {
			$cleantext = preg_replace( $pattern, '', $cleantext );
		}
		
		$max=250;
 if (strlen($cleantext) > $max) {
$cleantext = substr($cleantext, 0, $max);
 $espace = strrpos($cleantext, " ");
 $cleantext = substr($cleantext, 0, $espace)."...";
 }

		
		return $cleantext;
	}

et pour appeler les fonctions, en ce qui me concerne, c'était dans le fichier category_items.php, j'ai remplacé ça :
echo flexicontent_html::striptagsandcut( $items[$i]->introtext, $this->params->get('lead_cut_text', 400) );
par ça :
echo flexicontent_html::striptagsandcutlead( $items[$i]->introtext);


Je ne suis pas parvenu à coder de façon à pouvoir ajuster le nombre de caractères depuis l'admin de flexicontent, j'ai donc du créer une fonction pour les articles à la une (lead) et une autre fonction pour les articles normaux. Il y a sans doute plus efficace...

Please Log in or Create an account to join the conversation.

More
8 years 3 months ago #6038 by micker
Replied by micker on topic Coupure du texte
coool merci pour ta participation

FLEXIcontent is Free but involves a very big effort on our part.
Like the our support? (for a bug-free FC, despite being huge extension) Like the features? Like the ongoing development and future commitment to FLEXIcontent?
-- Add your voice to the FLEXIcontent JED listing reviews. Thanks![/size]

Please Log in or Create an account to join the conversation.

Moderators: vistamediajoomlacornerggppdk
© 2018 Flexicontent. All Rights Reserved.