Server : nginx/1.22.1
System : Linux iZwz9daxib3w3i063fw434Z 3.10.0-1127.19.1.el7.x86_64 #1 SMP Tue Aug 25 17:23:54 UTC 2020 x86_64
User : www ( 1000)
PHP Version : 5.6.40
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
Directory :  /www/wwwroot/www.jkmold.com/phpcms/modules/content/fields/editor/
Upload File :
Current Directory [ Writeable ] Root Directory [ Writeable ]


Current File : /www/wwwroot/www.jkmold.com/phpcms/modules/content/fields/editor/output.inc.php
	function editor($field, $value) {

		$setting = string2array($this->fields[$field]['setting']);

		if($setting['enablekeylink']) {

			$value = $this->_keylinks($value, $setting['replacenum'],$setting['link_mode']);

		}

		return $value;

	}

	function _base64_encode($matches) {

		return $matches[1]."\"".base64_encode($matches[2])."\"";

	}

	function _base64_decode($matches) {

		return $matches[1]."\"".base64_decode($matches[2])."\"";

	}

	function _keylinks($txt, $replacenum = '',$link_mode = 1) {

		$search = "/(alt\s*=\s*|title\s*=\s*)[\"|\'](.+?)[\"|\']/is";

		$txt = preg_replace_callback($search, array($this, '_base64_encode'), $txt);

		$keywords = $this->data['keywords'];

		if($keywords) $keywords = strpos(',',$keywords) === false ? explode(' ',$keywords) : explode(',',$keywords);

		if($link_mode && !empty($keywords)) {

			foreach($keywords as $keyword) {

				$linkdatas[] = $keyword;

			}

		} else {

			$linkdatas = getcache('keylink','commons');

		}

		if($linkdatas) {

			$word = $replacement = array();

			foreach($linkdatas as $v) {

				if($link_mode && $keywords) {

					$word1[] = '/(?!(<a.*?))' . preg_quote($v, '/') . '(?!.*<\/a>)/s';

					$word2[] = $v;

					$replacement[] = '<a href="javascript:;" onclick="show_ajax(this)" class="keylink">'.$v.'</a>';

				} else {

					$word1[] = '/(?!(<a.*?))' . preg_quote($v[0], '/') . '(?!.*<\/a>)/s';

					$word2[] = $v[0];					

					$replacement[] = '<a href="'.$v[1].'" target="_blank" class="keylink">'.$v[0].'</a>';

				}

			}

			if($replacenum != '') {

				$txt = preg_replace($word1, $replacement, $txt, $replacenum);

			} else {

				$txt = str_replace($word2, $replacement, $txt);

			}

		}

		$txt = preg_replace_callback($search, array($this, '_base64_decode'), $txt);

		return $txt;

	}