SwatString Demo
- Suspendisse potenti. Cras varius diam. Fusce mollis pharetra sapien. Curabitur vel tellus vel nisi luctus tempus.Suspendisse …
- Nullam consequat metus porttitor libero. Integer rhoncus. Phasellus tortor.Nullam consequat …
- Quisque quis nulla.Quisque quis nulla.
- Vu bei Eisen päift Keppchen, Räis Blieder da dem, en nët ma'n d'Gaassen.Vu bei Eisen päift …
- Brét Dall Schiet hu nët, um wäit onser hirem get, si Dall gemaacht Fletschen bei.Brét Dall Schiet hu …
- Pellentesque iaculis egestas nibh.Pellentesque …
- Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae;Vestibulum ante …
- Suspendisse potenti. Cras varius diam. Fusce mollis pharetra sapien. Curabitur vel tellus vel nisi luctus tempus.Suspendisse … tempus.
- Nullam consequat metus porttitor libero. Integer rhoncus. Phasellus tortor.Nullam consequat … tortor.
- Quisque quis nulla.Quisque quis nulla.
- Vu bei Eisen päift Keppchen, Räis Blieder da dem, en nët ma'n d'Gaassen.Vu bei Eisen … d'Gaassen.
- Brét Dall Schiet hu nët, um wäit onser hirem get, si Dall gemaacht Fletschen bei.Brét Dall Schiet hu … bei.
- Pellentesque iaculis egestas nibh.Pellentesque … nibh.
- Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae;Vestibulum ante … Curae;
Uncondensed Text:
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Etiam aliquet tincidunt augue. Cras dui. Quisque tincidunt pede vitae lorem.
Aenean semper wisi sed mi. Integer fermentum magna non magna laoreet faucibus. Aenean molestie auctor ante. Donec vitae neque ut tellus tincidunt bibendum. Donec sit amet sem. In elementum tellus consectetuer turpis. Nam velit erat, pharetra vel, sollicitudin at, gravida eget, est. Etiam risus tortor, scelerisque in, consectetuer et, mollis a, leo. Donec auctor.
Mauris tellus. Quisque sit amet nulla. Fusce vitae eros eu nunc volutpat aliquet. Donec nibh. Donec ac libero. Etiam dictum. Cras fringilla nunc at justo. Vestibulum quis magna eu nisl congue volutpat. Ut facilisis lobortis lacus. Nullam non urna at elit malesuada dictum. Integer quis ligula. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
Vivamus metus ligula, varius sodales, dictum in, posuere sagittis, nisl. Suspendisse potenti. Nulla non mauris id tortor eleifend auctor. Nullam mattis odio ac diam. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aliquam ultrices mattis nisl. Nullam diam metus, vestibulum sit amet, lacinia at, condimentum at, dolor.
Condensed Text:
Uncondensed Text:
Brét Dall Schiet hu nët, um wäit onser hirem get, si Dall gemaacht Fletschen bei.
Dat dé Mier grouss, all Mamm Dauschen da. Am nun Dall Minutt löschteg, ké gebotzt Fréijor dén, blo fort Plett'len et. Ze blëtzen Fletschen och, oft en sëtzen Schuebersonndeg erem, Mamm Schied aus do. Ech am gudden gebotzt, wa Eisen prächteg hir, dir méngem Hémecht Keppchen un.
Vu bei Eisen päift Keppchen, Räis Blieder da dem, en nët ma'n d'Gaassen. D'Wise d'Hierz an ech, ech ké iech stét riede. Blo do Dohannen d'Kàchen schnéiwäiss. Hu d'Wéën bleiwe get. Sou vill Blummen vu, mä eng Hären d'Wise Säiten, si wéi schéinste Margréitchen. Halm spilt méngem wat ke.
D'Pied grousse ons wa, oft gëtt schléit blénken si, d'Blumme gewalteg mat ze. An drun Milliounen sin, dé hier wäit esou rëm. Op vun koum derfir klinzecht, en dir wuel spilt schaddreg. Dem fu genuch Schuebersonndeg bleiwe, d'Mier Fletschen wa all. Mamm meescht Dohannen dén de, de denkt Kléder dén, wat aremt ugedon löschteg da. Vu get méngem d'Loft.
Hie zielen d'Pied d'Kamäiner de. Dé Duerf duerch wär, main d'Kanner dan fu. Um zënne ruffen méi. Sinn Noper mat ke, gét en Ierd ruffen. Wär brommt d'wäiss Faarwen op.
D'Vioule Minutt Schuebersonndeg rëm um, op Gaas zwëschen mat. Eise Engel jéngt sin am, ké fond gesiess heemlech méi. D'Gaassen Nuechtegall schnéiwäiss fu ass, Noper rëschten wee ké, ze d'Bëscher Schuebersonndeg gemaacht nët. Fest frësch och hu. Iech Wand wielen et all, dé vun geet hannendrun.
Condensed Text:
Condense to name can be used to condense a title into a name identifier.
- Suspendisse potenti. Cras varius diam. Fusce mollis pharetra sapien. Curabitur vel tellus vel nisi luctus tempus.suspendisse
- Nullam consequat metus porttitor libero. Integer rhoncus. Phasellus tortor.nullamconsequat
- Quisque quis nulla.quisquequis
- Vu bei Eisen päift Keppchen, Räis Blieder da dem, en nët ma'n d'Gaassen.vubeieisenpift
- Brét Dall Schiet hu nët, um wäit onser hirem get, si Dall gemaacht Fletschen bei.brtdallschiethu
- Pellentesque iaculis egestas nibh.pellentesque
- Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae;vestibulumante
Plain Text:
<blockquote><p>Etiam aliquet tincidunt augue. Cras dui. Quisque tincidunt pede vitae lorem.</p></blockquote>
Aenean semper wisi sed mi. Integer fermentum magna non magna laoreet faucibus. Aenean molestie auctor ante. Donec vitae neque ut tellus tincidunt bibendum. Donec sit amet sem. In elementum tellus consectetuer turpis. Nam velit erat, pharetra vel, sollicitudin at, gravida eget, est. Etiam risus tortor, scelerisque in, consectetuer et, mollis a, leo. Donec auctor.
<strong>Mauris tellus.</strong>Quisque sit amet nulla. Fusce vitae eros eu nunc volutpat aliquet. Donec nibh. Donec ac libero. Etiam dictum. Cras fringilla nunc at justo. Vestibulum quis magna eu nisl congue volutpat. Ut <em>facilisis lobortis</em> lacus. Nullam non urna at elit malesuada dictum. Integer quis ligula. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
Vivamus metus ligula, varius sodales, dictum in, posuere sagittis, nisl.
Suspendisse potenti. Nulla non mauris id tortor eleifend auctor.<br />Nullam mattis odio ac diam. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aliquam ultrices mattis nisl. Nullam diam metus, vestibulum sit amet, lacinia at, condimentum at, dolor.
XHTML Text:
<blockquote><p>Etiam aliquet tincidunt augue. Cras dui. Quisque tincidunt pede vitae lorem.</p></blockquote>
<p>Aenean semper wisi sed mi. Integer fermentum magna non magna laoreet faucibus. Aenean molestie auctor ante. Donec vitae neque ut tellus tincidunt bibendum. Donec sit amet sem. In elementum tellus consectetuer turpis. Nam velit erat, pharetra vel, sollicitudin at, gravida eget, est. Etiam risus tortor, scelerisque in, consectetuer et, mollis a, leo. Donec auctor.</p>
<p><strong>Mauris tellus.</strong>Quisque sit amet nulla. Fusce vitae eros eu nunc volutpat aliquet. Donec nibh. Donec ac libero. Etiam dictum. Cras fringilla nunc at justo. Vestibulum quis magna eu nisl congue volutpat. Ut <em>facilisis lobortis</em> lacus. Nullam non urna at elit malesuada dictum. Integer quis ligula. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p>
<p>Vivamus metus ligula, varius sodales, dictum in, posuere sagittis, nisl.<br />Suspendisse potenti. Nulla non mauris id tortor eleifend auctor.<br />Nullam mattis odio ac diam. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aliquam ultrices mattis nisl. Nullam diam metus, vestibulum sit amet, lacinia at, condimentum at, dolor.</p>
SwatML for this demo:
<?xml version="1.0" standalone="no"?>
<!DOCTYPE swatml SYSTEM "http://swat.silverorange.com/swatml1.dtd">
<swatml>
<widget class="SwatDisclosure">
<property name="title">Right Ellipsize</property>
<property name="open" type="boolean">false</property>
<widget class="SwatContentBlock" id="right_ellipsize">
<property name="content_type">text/xml</property>
</widget>
</widget>
<widget class="SwatDisclosure">
<property name="title">Middle Ellipsize</property>
<property name="open" type="boolean">false</property>
<widget class="SwatContentBlock" id="middle_ellipsize">
<property name="content_type">text/xml</property>
</widget>
</widget>
<widget class="SwatDisclosure">
<property name="title">Condense</property>
<property name="open" type="boolean">false</property>
<widget class="SwatContentBlock" id="condense">
<property name="content_type">text/xml</property>
</widget>
</widget>
<widget class="SwatDisclosure">
<property name="title">Condense To Name</property>
<property name="open" type="boolean">false</property>
<widget class="SwatContentBlock" id="condense_to_name">
<property name="content_type">text/xml</property>
</widget>
</widget>
<widget class="SwatDisclosure">
<property name="title">Convert Plain Text to XHTML</property>
<property name="open" type="boolean">false</property>
<widget class="SwatContentBlock" id="to_xhtml">
<property name="content_type">text/xml</property>
</widget>
</widget>
</swatml>
PHP for this demo:
<?php
/* vim: set noexpandtab tabstop=4 shiftwidth=4 foldmethod=marker: */
require_once 'Demo.php';
/**
* Several SwatString tests
*
* This tests the various static methods of SwatString and displays the test
* results in a SwatContentBlock.
*
* @package SwatDemo
* @copyright 2005-2007 silverorange
* @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
*/
class StringDemo extends Demo
{
// {{{ private properties
private $strings = array(
'Suspendisse potenti. Cras varius diam. Fusce mollis pharetra sapien. Curabitur vel tellus vel nisi luctus tempus.',
'Nullam consequat metus porttitor libero. Integer rhoncus. Phasellus tortor.',
'Quisque quis nulla.',
'Vu bei Eisen päift Keppchen, Räis Blieder da dem, en nët ma\'n d\'Gaassen.',
'Brét Dall Schiet hu nët, um wäit onser hirem get, si Dall gemaacht Fletschen bei.',
'Pellentesque iaculis egestas nibh.',
'Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae;');
private $text_blocks = array();
private $unformatted_text_blocks = array();
// }}}
// {{{ public function buildDemoUI()
public function buildDemoUI(SwatUI $ui)
{
$this->text_blocks[] = "<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</p>".
"<blockquote><p>Etiam aliquet tincidunt augue. Cras dui. Quisque tincidunt pede vitae lorem.</p></blockquote>".
"<p>Aenean semper wisi sed mi. Integer fermentum magna non magna laoreet faucibus. Aenean molestie auctor ante. Donec vitae neque ut tellus tincidunt bibendum. Donec sit amet sem. In elementum tellus consectetuer turpis. Nam velit erat, pharetra vel, sollicitudin at, gravida eget, est. Etiam risus tortor, scelerisque in, consectetuer et, mollis a, leo. Donec auctor.</p>".
"<p>Mauris tellus. Quisque sit amet nulla. Fusce vitae eros eu nunc volutpat aliquet. Donec nibh. Donec ac libero. Etiam dictum. Cras fringilla nunc at justo. Vestibulum quis magna eu nisl congue volutpat. Ut facilisis lobortis lacus. Nullam non urna at elit malesuada dictum. Integer quis ligula. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p>".
"<p>Vivamus metus ligula, varius sodales, dictum in, posuere sagittis, nisl. Suspendisse potenti. Nulla non mauris id tortor eleifend auctor. Nullam mattis odio ac diam. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aliquam ultrices mattis nisl. Nullam diam metus, vestibulum sit amet, lacinia at, condimentum at, dolor.</p>";
$this->text_blocks[] = "<p>Brét Dall Schiet hu nët, um wäit onser hirem get, si Dall gemaacht Fletschen bei.</p>".
"<p>Dat dé Mier grouss, all Mamm Dauschen da. Am nun Dall Minutt löschteg, ké gebotzt Fréijor dén, blo fort Plett'len et. Ze blëtzen Fletschen och, oft en sëtzen Schuebersonndeg erem, Mamm Schied aus do. Ech am gudden gebotzt, wa Eisen prächteg hir, dir méngem Hémecht Keppchen un.</p>".
"<p>Vu bei Eisen päift Keppchen, Räis Blieder da dem, en nët ma'n d'Gaassen. D'Wise d'Hierz an ech, ech ké iech stét riede. Blo do Dohannen d'Kàchen schnéiwäiss. Hu d'Wéën bleiwe get. Sou vill Blummen vu, mä eng Hären d'Wise Säiten, si wéi schéinste Margréitchen. Halm spilt méngem wat ke.</p>".
"<p>D'Pied grousse ons wa, oft gëtt schléit blénken si, d'Blumme gewalteg mat ze. An drun Milliounen sin, dé hier wäit esou rëm. Op vun koum derfir klinzecht, en dir wuel spilt schaddreg. Dem fu genuch Schuebersonndeg bleiwe, d'Mier Fletschen wa all. Mamm meescht Dohannen dén de, de denkt Kléder dén, wat aremt ugedon löschteg da. Vu get méngem d'Loft.</p>".
"<p>Hie zielen d'Pied d'Kamäiner de. Dé Duerf duerch wär, main d'Kanner dan fu. Um zënne ruffen méi. Sinn Noper mat ke, gét en Ierd ruffen. Wär brommt d'wäiss Faarwen op.</p>".
"<p>D'Vioule Minutt Schuebersonndeg rëm um, op Gaas zwëschen mat. Eise Engel jéngt sin am, ké fond gesiess heemlech méi. D'Gaassen Nuechtegall schnéiwäiss fu ass, Noper rëschten wee ké, ze d'Bëscher Schuebersonndeg gemaacht nët. Fest frësch och hu. Iech Wand wielen et all, dé vun geet hannendrun.</p>";
$this->unformatted_text_blocks[] = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit.\n\n".
"<blockquote><p>Etiam aliquet tincidunt augue. Cras dui. Quisque tincidunt pede vitae lorem.</p></blockquote>\n\n".
"Aenean semper wisi sed mi. Integer fermentum magna non magna laoreet faucibus. Aenean molestie auctor ante. Donec vitae neque ut tellus tincidunt bibendum. Donec sit amet sem. In elementum tellus consectetuer turpis. Nam velit erat, pharetra vel, sollicitudin at, gravida eget, est. Etiam risus tortor, scelerisque in, consectetuer et, mollis a, leo. Donec auctor.\n\n\n".
"<strong>Mauris tellus.</strong>Quisque sit amet nulla. Fusce vitae eros eu nunc volutpat aliquet. Donec nibh. Donec ac libero. Etiam dictum. Cras fringilla nunc at justo. Vestibulum quis magna eu nisl congue volutpat. Ut <em>facilisis lobortis</em> lacus. Nullam non urna at elit malesuada dictum. Integer quis ligula. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.\n\n".
"Vivamus metus ligula, varius sodales, dictum in, posuere sagittis, nisl.\nSuspendisse potenti. Nulla non mauris id tortor eleifend auctor.<br />Nullam mattis odio ac diam. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aliquam ultrices mattis nisl. Nullam diam metus, vestibulum sit amet, lacinia at, condimentum at, dolor.";
$right_ellipsize = $ui->getWidget('right_ellipsize');
ob_start();
$this->testEllipsizeRight(20);
$right_ellipsize->content = ob_get_clean();
$middle_ellipsize = $ui->getWidget('middle_ellipsize');
ob_start();
$this->testEllipsizeMiddle(25);
$middle_ellipsize->content = ob_get_clean();
$condense = $ui->getWidget('condense');
ob_start();
$this->testCondense();
$condense->content = ob_get_clean();
$condense_to_name = $ui->getWidget('condense_to_name');
ob_start();
$this->testCondenseToName();
$condense_to_name->content = ob_get_clean();
$to_xhtml = $ui->getWidget('to_xhtml');
ob_start();
$this->testToXHTML();
$to_xhtml->content = ob_get_clean();
}
// }}}
// {{{ protected function createLayout()
protected function createLayout()
{
return new SiteLayout($this->app,
'../include/layouts/xhtml/no-source.php');
}
// }}}
// {{{ private function testEllipsizeRight()
private function testEllipsizeRight($length = 20)
{
echo '<ol class="string-demo">';
foreach($this->strings as $string) {
echo '<li>';
echo '<div>'.$string.'</div>';
echo '<div>'.SwatString::ellipsizeRight($string, $length).'</div>';
echo '</li>';
}
echo '</ol>';
}
// }}}
// {{{ private function testEllipsizeMIddle()
private function testEllipsizeMiddle($length = 20)
{
echo '<ol class="string-demo">';
foreach($this->strings as $string) {
echo '<li>';
echo '<div>'.$string.'</div>';
echo '<div>'.SwatString::ellipsizeMiddle($string, $length).'</div>';
echo '</li>';
}
echo '</ol>';
}
// }}}
// {{{ private function testCondense()
private function testCondense()
{
foreach ($this->text_blocks as $text_block) {
echo '<h5>Uncondensed Text:</h5>';
echo '<div class="text-block">'.$text_block.'</div>';
$condensed_text_block = SwatString::condense($text_block, 200);
echo '<h5>Condensed Text:</h5>';
echo '<div class="text-block">'.$condensed_text_block.'</div>';
}
}
// }}}
// {{{ private function testCondenseToName()
private function testCondenseToName()
{
echo '<p>Condense to name can be used to condense a title into a name identifier.</p>';
echo '<ol class="string-demo">';
foreach($this->strings as $string) {
echo '<li>';
echo '<div>'.$string.'</div>';
echo '<div>'.SwatString::condenseToName($string).'</div>';
echo '</li>';
}
echo '</ol>';
}
// }}}
// {{{ private function testToXHTML()
private function testToXHTML()
{
foreach ($this->unformatted_text_blocks as $text_block) {
echo '<h5>Plain Text:</h5>';
echo '<div class="string-unformatted-text">'.
nl2br(htmlspecialchars($text_block, ENT_COMPAT, 'UTF-8')).'</div>';
$xhtml_text_block = SwatString::toXHTML($text_block);
echo '<h5>XHTML Text:</h5>';
echo '<div class="string-unformatted-text">'.
nl2br(htmlspecialchars($xhtml_text_block, ENT_COMPAT, 'UTF-8')).'</div>';
}
}
// }}}
}
?>