本文整理汇总了PHP中Sanitizer::sanitizeAndTruncateHTML方法的典型用法代码示例。如果您正苦于以下问题:PHP Sanitizer::sanitizeAndTruncateHTML方法的具体用法?PHP Sanitizer::sanitizeAndTruncateHTML怎么用?PHP Sanitizer::sanitizeAndTruncateHTML使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Sanitizer
的用法示例。
在下文中一共展示了Sanitizer::sanitizeAndTruncateHTML方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: initializeForPage
protected function initializeForPage()
{
switch ($this->page) {
case 'index':
$links = array(array('title' => 'Text', 'url' => $this->buildBreadcrumbURL('text', array())), array('title' => 'Navigation Lists', 'url' => $this->buildBreadcrumbURL('nav', array())), array('title' => 'Results Lists', 'url' => $this->buildBreadcrumbURL('results', array())), array('title' => 'Search', 'url' => $this->buildBreadcrumbURL('search', array())), array('title' => 'Detail', 'url' => $this->buildBreadcrumbURL('detail', array())));
if ($this->browser == 'native') {
$links[] = array('title' => 'AppQ Dialogs', 'url' => $this->buildBreadcrumbURL('dialogs', array()));
$links[] = array('title' => 'Truncation Form Post', 'url' => $this->buildBreadcrumbURL('truncate', array()));
}
$this->assign('links', $links);
break;
case 'text':
break;
case 'search':
$formFields = $this->loadPageConfigFile($this->page, false);
foreach ($formFields as $i => $formField) {
if (isset($formField['option_keys'])) {
$options = array();
foreach ($formField['option_keys'] as $j => $optionKey) {
$options[$optionKey] = $formField['option_values'][$j];
}
$formFields[$i]['options'] = $options;
unset($formFields[$i]['option_keys']);
unset($formFields[$i]['option_values']);
}
}
$this->assign('formFields', $formFields);
break;
case 'results':
if ($title = $this->getArg('title')) {
$this->setPageTitles($title);
}
$this->assign('next', 'Next');
$this->assign('prev', 'Prev');
$this->assign('nextURL', $this->buildBreadcrumbURL($this->page, $this->args, false));
$this->assign('prevURL', $this->buildBreadcrumbURL($this->page, $this->args, false));
$this->assign('lists', $this->getListsForPage($this->page));
break;
case 'nav':
if ($title = $this->getArg('title')) {
$this->setPageTitles($title);
}
$this->assign('lists', $this->getListsForPage($this->page));
break;
case 'articles':
$this->setWebBridgePageRefresh(true);
$this->addInternalJavascript('/common/javascript/lib/ellipsizer.js');
$this->addOnLoad('setupListing();');
$this->assign('articles', $this->getListsForPage($this->page));
break;
case 'detail':
$detailConfig = $this->loadPageConfigFile('detail', 'detailConfig');
if ($this->getOptionalModuleVar('SHARING_ENABLED', 1)) {
$this->assign('shareTitle', $this->getLocalizedString('SHARE_THIS_ITEM'));
$this->assign('shareEmailURL', 'john.smith@gmail.com');
$this->assign('shareRemark', 'This is a share remark');
$this->assign('shareURL', 'This is a share URL');
}
if ($this->getOptionalModuleVar('BOOKMARKS_ENABLED', 1)) {
$this->generateBookmarkOptions('fakeid');
}
$this->enableTabs(array_keys($detailConfig['tabs']));
break;
case 'dialogs':
$buttons = array();
$configs = $this->loadPageConfigFile($this->page, false);
foreach ($configs as $config) {
if (!isset($config['title'], $config['description'], $config['api'], $config['arguments'])) {
continue;
}
$buttons[] = array('title' => $config['title'], 'description' => $config['description'], 'javascript' => "kgoBridge.{$config['api']}(" . implode(', ', $config['arguments']) . ", null, function (error, params) { alert('You clicked button type \\''+params['button']+'\\''); }); return false;");
}
$this->assign('buttons', $buttons);
break;
case 'truncate':
$this->assign('action', $this->buildBreadcrumbURL('truncated', array()));
break;
case 'truncated':
$length = $this->getArg('length', 0);
$margin = $this->getArg('margin', 0);
$minLineLength = $this->getArg('minLineLength', 40);
$html = $this->getArg('html', '');
if ($length && $margin && $html) {
$html = Sanitizer::sanitizeAndTruncateHTML($html, $truncated, $length, $margin, $minLineLength);
}
$this->assign('html', $html);
break;
}
}
示例2: initializeForPage
protected function initializeForPage()
{
if (!$this->feed) {
throw new KurogoConfigurationException($this->getLocalizedString('ERROR_NOT_CONFIGURED'));
}
switch ($this->page) {
case 'story':
$searchTerms = $this->getArg('filter', false);
if ($searchTerms) {
$this->feed->setOption('search', $searchTerms);
}
$storyID = $this->getArg(array('id', 'storyID'), false);
$storyPage = $this->getArg('storyPage', '0');
$story = $this->feed->getItem($storyID);
$ajax = $this->getArg('ajax', false);
if (!$story) {
throw new KurogoUserException($this->getLocalizedString('ERROR_STORY_NOT_FOUND', $storyID));
}
$this->setLogData($storyID, $story->getTitle());
if (!($content = $this->cleanContent($story->getContent()))) {
if ($ajax) {
$content = $story->getDescription();
if ($url = $story->getLink()) {
$content .= $this->getLocalizedString('READ_MORE_LINK', $url);
}
} else {
if ($url = $story->getLink()) {
Kurogo::redirectToURL($url);
}
// no content or link. Attempt to get description
if (!($content = $story->getDescription())) {
throw new KurogoDataException($this->getLocalizedString('ERROR_CONTENT_NOT_FOUND', $storyID));
}
}
}
if ($this->getOptionalModuleVar('SHARING_ENABLED', 1)) {
$truncated = false;
$body = Sanitizer::sanitizeAndTruncateHTML($story->getDescription(), $truncated, $this->getOptionalModuleVar('SHARE_EMAIL_DESC_MAX_LENGTH', 500), $this->getOptionalModuleVar('SHARE_EMAIL_DESC_MAX_LENGTH_MARGIN', 50), $this->getOptionalModuleVar('SHARE_EMAIL_DESC_MIN_LINE_LENGTH', 50), '') . "\n\n" . $story->getLink();
$shareEmailURL = $this->buildMailToLink("", $story->getTitle(), $body);
$this->assign('shareTitle', $this->getLocalizedString('SHARE_THIS_STORY'));
$this->assign('shareEmailURL', $shareEmailURL);
$this->assign('shareRemark', $story->getTitle());
$this->assign('storyURL', $story->getLink());
}
if ($pubDate = $story->getPubDate()) {
$date = DateFormatter::formatDate($pubDate, DateFormatter::LONG_STYLE, DateFormatter::NO_STYLE);
} else {
$date = "";
}
$this->enablePager($content, $this->feed->getEncoding(), $storyPage);
$this->assign('date', $date);
$this->assign('title', $this->htmlEncodeFeedString($story->getTitle()));
$this->assign('author', $this->htmlEncodeFeedString($story->getAuthor()));
$this->assign('link', $story->getLink());
$this->assign('showLink', $this->showLink);
$this->assign('showBodyImage', $this->showBodyImage);
$this->assign('showBodyThumbnail', $this->showBodyThumbnail);
$this->assign('showBodyPubDate', $this->showBodyPubDate);
$this->assign('showBodyAuthor', $this->showBodyAuthor);
if ($this->showImages) {
if ($image = $story->getImage()) {
$this->assign('image', array('src' => $image->getURL(), 'width' => $image->getWidth(), 'height' => $image->getHeight()));
} elseif ($thumbnail = $story->getThumbnail()) {
$this->assign('thumbnail', array('src' => $thumbnail->getURL(), 'width' => $thumbnail->getWidth(), 'height' => $thumbnail->getHeight()));
}
}
break;
case 'search':
$searchTerms = $this->getArg('filter');
$start = $this->getArg('start', 0);
if ($searchTerms) {
$options = array('start' => $start);
$items = $this->searchItems($searchTerms, $this->maxPerPage, $options);
$this->setLogData($searchTerms);
$totalItems = $this->feed->getTotalItems();
$stories = array();
$options = array('filter' => $searchTerms, 'feed' => $this->feedIndex);
foreach ($items as $story) {
$stories[] = $this->linkForItem($story, $options);
}
$previousURL = '';
$nextURL = '';
if ($totalItems > $this->maxPerPage) {
$args = $this->args;
if ($start > 0) {
$args['start'] = $start - $this->maxPerPage;
$previousURL = $this->buildBreadcrumbURL($this->page, $args, false);
}
if ($totalItems - $start > $this->maxPerPage) {
$args['start'] = $start + $this->maxPerPage;
$nextURL = $this->buildBreadcrumbURL($this->page, $args, false);
}
}
$extraArgs = array('feed' => $this->feedIndex);
$this->addInternalJavascript('/common/javascript/lib/ellipsizer.js');
$this->addOnLoad('setupNewsListing();');
$this->assign('maxPerPage', $this->maxPerPage);
$this->assign('extraArgs', $extraArgs);
$this->assign('searchTerms', $searchTerms);
$this->assign('stories', $stories);
//.........这里部分代码省略.........
示例3: initializeForPage
protected function initializeForPage()
{
switch ($this->page) {
case 'index':
$links = array(array('title' => 'Text', 'url' => $this->buildBreadcrumbURL('text', array())), array('title' => 'Navigation Lists', 'url' => $this->buildBreadcrumbURL('nav', array())), array('title' => 'Results Lists', 'url' => $this->buildBreadcrumbURL('results', array())), array('title' => 'Search', 'url' => $this->buildBreadcrumbURL('search', array())), array('title' => 'Detail', 'url' => $this->buildBreadcrumbURL('detail', array())), array('title' => 'Geolocation', 'url' => $this->buildBreadcrumbURL('location', array())), array('title' => 'HTML Truncation Form', 'url' => $this->buildBreadcrumbURL('truncate', array())), array('title' => 'Javascript API Call Test', 'url' => $this->buildBreadcrumbURL('apicall', array())));
if ($this->browser == 'native') {
$appQLinks = array(array('title' => 'Dialogs', 'url' => $this->buildBreadcrumbURL('dialogs', array())), array('title' => 'Refresh Button', 'url' => $this->buildBreadcrumbURL('refresh', array())), array('title' => 'Auto Refresh', 'url' => $this->buildBreadcrumbURL('autorefresh', array())));
$this->assign('appQLinks', $appQLinks);
}
$this->assign('links', $links);
break;
case 'text':
break;
case 'apicall':
break;
case 'search':
$formFields = $this->loadPageConfigArea($this->page, false);
foreach ($formFields as $i => $formField) {
if (isset($formField['option_keys'])) {
$options = array();
foreach ($formField['option_keys'] as $j => $optionKey) {
$options[$optionKey] = $formField['option_values'][$j];
}
$formFields[$i]['options'] = $options;
unset($formFields[$i]['option_keys']);
unset($formFields[$i]['option_values']);
}
}
$this->assign('formFields', $formFields);
break;
case 'results':
if ($title = $this->getArg('title')) {
$this->setPageTitles($title);
}
$this->assign('next', 'Next');
$this->assign('prev', 'Prev');
$this->assign('nextURL', $this->buildBreadcrumbURL($this->page, $this->args, false));
$this->assign('prevURL', $this->buildBreadcrumbURL($this->page, $this->args, false));
$this->assign('lists', $this->getListsForPage($this->page));
break;
case 'nav':
if ($title = $this->getArg('title')) {
$this->setPageTitles($title);
}
$this->assign('lists', $this->getListsForPage($this->page));
break;
case 'pane':
$this->assign('lists', $this->getListsForPage($this->page));
break;
case 'articles':
$this->setWebBridgePageRefresh(true);
$this->addInternalJavascript('/common/javascript/lib/ellipsizer.js');
$this->addOnLoad('setupListing();');
$this->assign('articles', $this->getListsForPage($this->page));
break;
case 'detail':
$detailConfig = $this->loadPageConfigArea('detail', 'detailConfig');
if ($this->getOptionalModuleVar('SHARING_ENABLED', 1)) {
$this->assign('shareTitle', $this->getLocalizedString('SHARE_THIS_ITEM'));
$this->assign('shareEmailURL', 'john.smith@gmail.com');
$this->assign('shareRemark', 'This is a share remark');
$this->assign('shareURL', 'This is a share URL');
}
if ($this->getOptionalModuleVar('BOOKMARKS_ENABLED', 1)) {
$this->generateBookmarkOptions('fakeid');
}
$this->enableTabs(array_keys($detailConfig['tabs']));
break;
case 'dialogs':
$buttons = array();
$configs = $this->loadPageConfigArea($this->page, false);
foreach ($configs as $config) {
if (!isset($config['title'], $config['description'], $config['api'], $config['arguments'])) {
continue;
}
$buttons[] = array('title' => $config['title'], 'description' => $config['description'], 'javascript' => "kgoBridge.{$config['api']}(" . implode(', ', $config['arguments']) . ", null, function (error, params) { alert('You clicked button type \\''+params['button']+'\\''); }); return false;");
}
$this->assign('buttons', $buttons);
break;
case 'location':
$links = array(array('title' => 'Watch Position Map Test', 'url' => $this->buildBreadcrumbURL('location_full', array())));
$this->assign('links', $links);
break;
case 'location_full':
$this->addExternalJavascript('http://maps.googleapis.com/maps/api/js?sensor=true');
$this->addOnLoad('initMap();');
$this->addInlineJavascript('var locationMarkerURL = "' . FULL_URL_PREFIX . 'common/images/map-location.png";');
break;
case 'truncate':
$this->assign('action', $this->buildBreadcrumbURL('truncated', array()));
break;
case 'truncated':
$length = $this->getArg('length', 0);
$margin = $this->getArg('margin', 0);
$minLineLength = $this->getArg('minLineLength', 40);
$html = $this->getArg('html', '');
if ($length && $margin && $html) {
$html = Sanitizer::sanitizeAndTruncateHTML($html, $truncated, $length, $margin, $minLineLength);
}
$this->assign('html', $html);
//.........这里部分代码省略.........
示例4: initializeForPage
protected function initializeForPage()
{
switch ($this->page) {
case 'news':
$start = $this->getArg('start', 0);
$section = $this->getArg('section');
$newsFeed = $this->getNewsFeed($section);
$newsFeed->setStart($start);
$newsFeed->setLimit($this->maxPerPage);
$items = $newsFeed->items();
$totalItems = $newsFeed->getTotalItems();
$this->setLogData($section, $newsFeed->getTitle());
$previousURL = null;
$nextURL = null;
if ($totalItems > $this->maxPerPage) {
$args = $this->args;
if ($start > 0) {
$args['start'] = $start - $this->maxPerPage;
$previousURL = $this->buildBreadcrumbURL($this->page, $args, false);
}
if ($totalItems - $start > $this->maxPerPage) {
$args['start'] = $start + $this->maxPerPage;
$nextURL = $this->buildBreadcrumbURL($this->page, $args, false);
}
}
$options = array('section' => $section);
$stories = array();
foreach ($items as $story) {
$stories[] = $this->linkForNewsItem($story, $options);
}
$this->addInternalJavascript('/common/javascript/lib/ellipsizer.js');
$this->addOnLoad('setupNewsListing();');
$this->assign('maxPerPage', $this->maxPerPage);
$this->assign('stories', $stories);
$this->assign('previousURL', $previousURL);
$this->assign('nextURL', $nextURL);
$this->assign('showImages', $this->showImages);
$this->assign('showPubDate', $this->showPubDate);
$this->assign('showAuthor', $this->showAuthor);
break;
case 'news_detail':
$section = $this->getArg('section');
$gender = $this->getArg('gender');
$storyID = $this->getArg('storyID', false);
$storyPage = $this->getArg('storyPage', '0');
$feed = $this->getNewsFeed($section, $gender);
$showBodyThumbnail = $this->getOptionalModuleVar('SHOW_BODY_THUMBNAIL', $this->showBodyThumbnail, $section, 'feeds');
if (!($story = $feed->getItem($storyID))) {
throw new KurogoUserException($this->getLocalizedString('ERROR_STORY_NOT_FOUND', $storyID));
}
$this->setLogData($storyID, $story->getTitle());
if (!($content = $this->cleanContent($story->getContent()))) {
if ($url = $story->getLink()) {
Kurogo::redirectToURL($url);
} else {
throw new KurogoDataException($this->getLocalizedString('ERROR_CONTENT_NOT_FOUND', $storyID));
}
}
if ($this->getOptionalModuleVar('SHARING_ENABLED', 1)) {
$body = Sanitizer::sanitizeAndTruncateHTML($story->getDescription(), $truncated, $this->getOptionalModuleVar('SHARE_EMAIL_DESC_MAX_LENGTH', 500), $this->getOptionalModuleVar('SHARE_EMAIL_DESC_MAX_LENGTH_MARGIN', 50), $this->getOptionalModuleVar('SHARE_EMAIL_DESC_MIN_LINE_LENGTH', 50), '') . "\n\n" . $story->getLink();
$shareEmailURL = $this->buildMailToLink("", $story->getTitle(), $body);
$this->assign('shareTitle', $this->getLocalizedString('SHARE_THIS_STORY'));
$this->assign('shareEmailURL', $shareEmailURL);
$this->assign('shareRemark', $story->getTitle());
$this->assign('storyURL', $story->getLink());
}
if ($pubDate = $story->getPubDate()) {
$date = DateFormatter::formatDate($pubDate, DateFormatter::MEDIUM_STYLE, DateFormatter::NO_STYLE);
} else {
$date = "";
}
$this->enablePager($content, $this->newsFeed->getEncoding(), $storyPage);
$this->assign('date', $date);
$this->assign('title', $this->htmlEncodeFeedString($story->getTitle()));
$this->assign('author', $this->htmlEncodeFeedString($story->getAuthor()));
$this->assign('image', $this->getImageForStory($story));
$this->assign('thumbnail', $this->getThumbnailForStory($story));
$this->assign('showBodyThumbnail', $showBodyThumbnail);
$this->assign('link', $story->getLink());
$this->assign('showLink', $this->showLink);
break;
case 'search':
$searchTerms = $this->getArg('filter');
$start = $this->getArg('start', 0);
$section = $this->getArg('section', 'topnews');
if ($searchTerms) {
$newsFeed = $this->getNewsFeed($section);
$newsFeed->setStart($start);
$newsFeed->setLimit($this->maxPerPage);
$items = $newsFeed->search($searchTerms);
$this->setLogData($searchTerms);
$totalItems = $newsFeed->getTotalItems();
$stories = array();
$options = array('start' => $start, 'filter' => $searchTerms, 'section' => $section);
foreach ($items as $story) {
$stories[] = $this->linkForNewsItem($story, $options);
}
$previousURL = '';
$nextURL = '';
if ($totalItems > $this->maxPerPage) {
//.........这里部分代码省略.........