/** * Testen ob crop nur richtig kürzt */ public function testGetShortenedText() { $aRecord = array('othertext' => 'ein ganz langer text mit vielen worten und noch viel viel viel viel mehr', 'text' => 'ein ganz langer text mit vielen worten und noch viel viel viel viel mehr'); $this->assertEquals('ein ganz langer text mit vielen worten und noch viel', tx_mklib_util_String::crop($aRecord['othertext'], 50), 'Nicht korrekt gekürtzt!'); $this->assertEquals('ein ganz langer text mit vielen worten und noch viel...', tx_mklib_util_String::crop($aRecord['othertext'], 50, str_repeat('.', 3)), 'Nicht korrekt gekürtzt!'); $this->assertEquals('ein ganz langer text mit vielen worten und noch viel viel viel viel mehr', tx_mklib_util_String::crop($aRecord['text']), 'Nicht korrekt gekürtzt!'); }
/** * Kürzt einen text im gegebenen Feld auf die Anzahl angegebener Zeichen * Es wird nach dem ersten Leerzeichen nach der Zeichenanzahl gesucht * * @see tx_mklib_util_String::getShortened() * * @author 2011 hbochmann * * @param tx_rnbase_model_base $model * @param string $textField | das feld, welches den text enthält * @param int $charCount | die anzahl der Zeichen nach denen abgeschnitten wird * @param bool $bStripTags | Html vorher entfernen? * @param string $suffix für das neue Feld */ public static function getShortenedText(tx_rnbase_model_base $model, $textField = 'text', $charCount = 150, $bStripTags = false, $suffix = 'shortened') { tx_rnbase::load('tx_mklib_util_String'); //Html vorher entfernen? $sText = $bStripTags ? strip_tags($model->record[$textField]) : $model->record[$textField]; $model->record[$textField . $suffix] = tx_mklib_util_String::crop($sText, $charCount); }