| Server IP : 156.238.232.47 / Your IP : 216.73.216.150 Web Server : nginx/1.25.3 System : Linux C202504152095410 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 User : www ( 1000) PHP Version : 8.3.25 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /www/data/wwwroot/2026_06_02_05/source/function/ |
Upload File : |
<?php
/**
* [Discuz!] (C)2001-2099 Discuz! Team
* This is NOT a freeware, use is subject to license terms
* https://license.discuz.vip
*/
if(!defined('IN_DISCUZ')) {
exit('Access Denied');
}
function searchkey($keyword, $field, $returnsrchtxt = 0) {
$srchtxt = '';
if($field && $keyword) {
if(preg_match('(AND|\+|&|\s)', $keyword) && !preg_match('(OR|\|)', $keyword)) {
$andor = ' AND ';
$keywordsrch = '1';
$keyword = preg_replace('/( AND |&| )/is', '+', $keyword);
} else {
$andor = ' OR ';
$keywordsrch = '0';
$keyword = preg_replace('/( OR |\|)/is', '+', $keyword);
}
$keyword = str_replace('*', '%', addcslashes($keyword, '%_'));
$srchtxt = $returnsrchtxt ? $keyword : '';
foreach(explode('+', $keyword) as $text) {
$text = trim(daddslashes($text));
if($text) {
$keywordsrch .= $andor;
$keywordsrch .= str_replace('{text}', $text, $field);
}
}
$keyword = " AND ($keywordsrch)";
}
return $returnsrchtxt ? [$srchtxt, $keyword] : $keyword;
}
function highlight($text, $words, $prepend) {
$text = str_replace('\"', '"', $text);
foreach($words as $key => $replaceword) {
$text = str_replace($replaceword, '<highlight>'.$replaceword.'</highlight>', $text);
}
return "$prepend$text";
}
function bat_highlight($message, $words, $color = '#ff0000') {
if(!empty($words)) {
$highlightarray = explode(' ', $words);
$sppos = strrpos($message, chr(0).chr(0).chr(0));
if($sppos !== FALSE) {
$specialextra = substr($message, $sppos + 3);
$message = substr($message, 0, $sppos);
}
bat_highlight_callback_highlight_21($highlightarray, 1);
$message = preg_replace_callback('/(^|>)([^<]+)(?=<|$)/sU', 'bat_highlight_callback_highlight_21', $message);
$message = preg_replace('/<highlight>(.*)<\/highlight>/siU', "<strong><font color=\"$color\">\\1</font></strong>", $message);
if($sppos !== FALSE) {
$message = $message.chr(0).chr(0).chr(0).$specialextra;
}
}
return $message;
}
function bat_highlight_callback_highlight_21($matches, $action = 0) {
static $highlightarray = [];
if($action == 1) {
$highlightarray = $matches;
} else {
return highlight($matches[2], $highlightarray, $matches[1]);
}
}