本文整理汇总了PHP中SearchEngine::encode方法的典型用法代码示例。如果您正苦于以下问题:PHP SearchEngine::encode方法的具体用法?PHP SearchEngine::encode怎么用?PHP SearchEngine::encode使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SearchEngine
的用法示例。
在下文中一共展示了SearchEngine::encode方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getSearchURL
/**
* Returns a search URL
*
* @param mixed $words the search words target
* @param mixed $dates the dates that limit the search
* @param mixed $fields the fields on which to search
* NOTE: $words and $dates are mutually exclusive and $fields applies only to $words searches
* @param int $page the page number for the URL
* @param array $object_list the list of objects to search
* @return string
* @since 1.1.3
*/
function getSearchURL($words, $dates, $fields, $page, $object_list = NULL)
{
$urls = array();
$rewrite = false;
if (MOD_REWRITE) {
$rewrite = true;
if (is_array($object_list)) {
foreach ($object_list as $obj) {
if ($obj) {
$rewrite = false;
break;
}
}
}
}
if ($rewrite) {
$url = SEO_WEBPATH . '/' . _SEARCH_ . '/';
} else {
$url = SEO_WEBPATH . "/index.php";
$urls[] = 'p=search';
}
if ($words) {
if (is_array($words)) {
foreach ($words as $key => $word) {
$words[$key] = search_quote($word);
}
$words = implode(',', $words);
}
$words = SearchEngine::encode($words);
if ($rewrite) {
$url .= $words . '/';
} else {
$urls[] = 'words=' . $words;
}
if (!empty($fields)) {
if (!is_array($fields)) {
$fields = explode(',', $fields);
}
$temp = $fields;
if ($rewrite && count($fields) == 1 && array_shift($temp) == 'tags') {
$url = SEO_WEBPATH . '/' . _TAGS_ . '/' . $words . '/';
} else {
$search = new SearchEngine();
$urls[] = $search->getSearchFieldsText($fields, 'searchfields=');
}
}
} else {
// dates
if (is_array($dates)) {
$dates = implode(',', $dates);
}
if ($rewrite) {
$url = SEO_WEBPATH . '/' . _ARCHIVE_ . '/' . $dates . '/';
} else {
$urls[] = "date={$dates}";
}
}
if ($page > 1) {
if ($rewrite) {
$url .= $page;
} else {
$urls[] = "page={$page}";
}
}
if (is_array($object_list)) {
foreach ($object_list as $key => $list) {
if (!empty($list)) {
if (is_array($list)) {
$list = implode(',', $list);
}
$urls[] = 'in' . $key . '=' . urlencode($list);
}
}
}
if (!empty($urls)) {
$url .= '?' . implode('&', $urls);
}
return $url;
}
示例2: zpRewriteURL
/**
* Creates a "REWRITE" url given the query parameters that represent the link
*
* @param type $query
* @return string
*/
function zpRewriteURL($query)
{
$redirectURL = '';
if (isset($query['p'])) {
sanitize($query);
switch ($query['p']) {
case 'news':
$redirectURL = _NEWS_;
if (isset($query['category'])) {
$obj = newCategory(rtrim($query['category'], '/'), false);
if (!$obj->loaded) {
return '';
}
$redirectURL = $obj->getLink();
unset($query['category']);
} else {
if (isset($query['date'])) {
$redirectURL = _NEWS_ARCHIVE_ . '/' . rtrim($query['date'], '/') . '/';
unset($query['date']);
}
}
if (isset($query['title'])) {
$obj = newArticle(rtrim($query['title'], '/'), false);
if (!$obj->loaded) {
return '';
}
$redirectURL = $obj->getLink();
unset($query['title']);
}
break;
case 'pages':
if (isset($query['title'])) {
$obj = newPage(rtrim($query['title'], '/'), false);
if (!$obj->loaded) {
return '';
}
$redirectURL = $obj->getLink();
unset($query['title']);
}
break;
case 'search':
$redirectURL = _SEARCH_;
if (isset($query['date'])) {
$redirectURL = _ARCHIVE_ . '/' . rtrim($query['date'], '/') . '/';
unset($query['date']);
} else {
if (isset($query['searchfields']) && $query['searchfields'] == 'tags') {
$redirectURL = _TAGS_;
unset($query['searchfields']);
}
}
if (isset($query['words'])) {
if (!preg_match('/^[0-9A-F]+\\.[0-9A-F]+$/i', $query['words'])) {
$query['words'] = SearchEngine::encode($query['words']);
}
$redirectURL .= '/' . $query['words'] . '/';
unset($query['words']);
}
break;
default:
$redirectURL = getCustomPageURL(rtrim($query['p'], '/'));
break;
}
unset($query['p']);
if (isset($query['page'])) {
$redirectURL = rtrim($redirectURL, '/') . '/' . rtrim($query['page'], '/');
unset($query['page']);
}
} else {
if (isset($query['album'])) {
if (isset($query['image'])) {
$obj = newImage(array('folder' => $query['album'], 'filename' => $query['image']), NULL, true);
unset($query['image']);
} else {
$obj = newAlbum($query['album'], NULL, true);
}
if (is_object($obj) && !$obj->exists) {
return '';
}
unset($query['album']);
$redirectURL = preg_replace('~^' . WEBPATH . '/~', '', $obj->getLink(@$query['page']));
unset($query['page']);
} else {
if (isset($query['page'])) {
//index page
$redirectURL = _PAGE_ . '/' . rtrim($query['page'], '/');
unset($query['page']);
}
}
}
if ($redirectURL && !empty($query)) {
$redirectURL .= '?' . http_build_query($query);
}
return $redirectURL;
//.........这里部分代码省略.........