Overview

Packages

  • CONTENIDO
  • Core
    • Authentication
    • Backend
    • Cache
    • CEC
    • Chain
    • ContentType
    • Database
    • Debug
    • Exception
    • Frontend
      • Search
      • URI
      • Util
    • GenericDB
      • Model
    • GUI
      • HTML
    • I18N
    • LayoutHandler
    • Log
    • Security
    • Session
    • Util
    • Validation
    • Versioning
    • XML
  • Module
    • ContentRssCreator
    • ContentSitemapHtml
    • ContentSitemapXml
    • ContentUserForum
    • NavigationTop
    • ScriptCookieDirective
  • mpAutoloaderClassMap
  • None
  • Plugin
    • ContentAllocation
    • CronjobOverview
    • FormAssistant
    • FrontendLogic
    • FrontendUsers
    • Linkchecker
    • ModRewrite
    • Newsletter
    • Repository
      • FrontendNavigation
      • KeywordDensity
    • SearchSolr
    • SmartyWrapper
    • UrlShortener
    • UserForum
    • Workflow
  • PluginManager
  • Setup
    • Form
    • GUI
    • Helper
      • Environment
      • Filesystem
      • MySQL
      • PHP
    • UpgradeJob
  • Smarty
    • Cacher
    • Compiler
    • Config
    • Debug
    • PluginsBlock
    • PluginsFilter
    • PluginsFunction
    • PluginsInternal
    • PluginsModifier
    • PluginsModifierCompiler
    • PluginsShared
    • Security
    • Template
    • TemplateResources
  • Swift
    • ByteStream
    • CharacterStream
    • Encoder
    • Events
    • KeyCache
    • Mailer
    • Mime
    • Plugins
    • Transport

Classes

  • Swift_FailoverTransport
  • Swift_LoadBalancedTransport
  • Swift_MailTransport
  • Swift_Plugins_Loggers_ArrayLogger
  • Swift_Plugins_Loggers_EchoLogger
  • Swift_SendmailTransport
  • Swift_SmtpTransport
  • Swift_Transport_AbstractSmtpTransport
  • Swift_Transport_Esmtp_Auth_CramMd5Authenticator
  • Swift_Transport_Esmtp_Auth_LoginAuthenticator
  • Swift_Transport_Esmtp_Auth_PlainAuthenticator
  • Swift_Transport_Esmtp_AuthHandler
  • Swift_Transport_EsmtpTransport
  • Swift_Transport_FailoverTransport
  • Swift_Transport_LoadBalancedTransport
  • Swift_Transport_MailTransport
  • Swift_Transport_SendmailTransport
  • Swift_Transport_SimpleMailInvoker
  • Swift_Transport_StreamBuffer

Interfaces

  • Swift_Plugins_Logger
  • Swift_Plugins_Pop_Pop3Exception
  • Swift_Transport
  • Swift_Transport_Esmtp_Authenticator
  • Swift_Transport_EsmtpHandler
  • Swift_Transport_IoBuffer
  • Swift_Transport_MailInvoker
  • Swift_Transport_SmtpAgent
  • Swift_TransportException
  • Overview
  • Package
  • Function
  • Todo
  • Download
 1: <?php
 2: /**
 3:  * Smarty plugin
 4:  *
 5:  * @package    Smarty
 6:  * @subpackage PluginsModifier
 7:  */
 8: 
 9: /**
10:  * Smarty truncate modifier plugin
11:  * Type:     modifier<br>
12:  * Name:     truncate<br>
13:  * Purpose:  Truncate a string to a certain length if necessary,
14:  *               optionally splitting in the middle of a word, and
15:  *               appending the $etc string or inserting $etc into the middle.
16:  *
17:  * @link   http://smarty.php.net/manual/en/language.modifier.truncate.php truncate (Smarty online manual)
18:  * @author Monte Ohrt <monte at ohrt dot com>
19:  *
20:  * @param string  $string      input string
21:  * @param integer $length      length of truncated text
22:  * @param string  $etc         end string
23:  * @param boolean $break_words truncate at word boundary
24:  * @param boolean $middle      truncate in the middle of text
25:  *
26:  * @return string truncated string
27:  */
28: function smarty_modifier_truncate($string, $length = 80, $etc = '...', $break_words = false, $middle = false)
29: {
30:     if ($length == 0) {
31:         return '';
32:     }
33: 
34:     if (Smarty::$_MBSTRING) {
35:         if (mb_strlen($string, Smarty::$_CHARSET) > $length) {
36:             $length -= min($length, mb_strlen($etc, Smarty::$_CHARSET));
37:             if (!$break_words && !$middle) {
38:                 $string = preg_replace('/\s+?(\S+)?$/' . Smarty::$_UTF8_MODIFIER, '', mb_substr($string, 0, $length + 1, Smarty::$_CHARSET));
39:             }
40:             if (!$middle) {
41:                 return mb_substr($string, 0, $length, Smarty::$_CHARSET) . $etc;
42:             }
43: 
44:             return mb_substr($string, 0, $length / 2, Smarty::$_CHARSET) . $etc . mb_substr($string, - $length / 2, $length, Smarty::$_CHARSET);
45:         }
46: 
47:         return $string;
48:     }
49: 
50:     // no MBString fallback
51:     if (isset($string[$length])) {
52:         $length -= min($length, strlen($etc));
53:         if (!$break_words && !$middle) {
54:             $string = preg_replace('/\s+?(\S+)?$/', '', substr($string, 0, $length + 1));
55:         }
56:         if (!$middle) {
57:             return substr($string, 0, $length) . $etc;
58:         }
59: 
60:         return substr($string, 0, $length / 2) . $etc . substr($string, - $length / 2);
61:     }
62: 
63:     return $string;
64: }
65: 
CMS CONTENIDO 4.9.7 API documentation generated by ApiGen