主页 > wordpress >
Wordpress 相册插件 NextGEN-Gallery 添加目录将中文转为拼音的解决办法_PHP教程
25-04-16
1
对于Wordpress相册插件NextGEN-Gallery添加目录将中文转为拼音的解决办法_PHP教程感兴趣的读者,本文将会是一篇不错的选择,并为您提供关于android中如何能让gallery中的
对于Wordpress 相册插件 NextGEN-Gallery 添加目录将中文转为拼音的解决办法_PHP教程 感兴趣的读者,本文将会是一篇不错的选择,并为您提供关于android 中如何能让 gallery 中的每张图片支持多点触摸,并且不影响 gallery 的滑动、Apache Hadoop NextGen MapReduce(YARN)、Delphi revelations #1 – kbmMW Smart client on NextGen (Android) – Scope problems、Mirth NextGen Connect 桌面上栏菜单服务器管理器链接到管理 UI 的错误安装? 的有用信息。
本文目录一览:
Wordpress 相册插件 NextGEN-Gallery 添加目录将中文转为拼音的解决办法_PHP教程
NextGEN Gallery是Wordpress中著名的相册插件,遗憾的是不支持中文等unicode字符,本文将介绍如何将目录转换为拼音(添加图集时)。
以NextGEN 1.6.2为例:
“新增图集/图片”的路径是:admin.php?page=nggallery-add-gallery,我们在nextgen-gallery/admin/admin.php中查找“nggallery-add-gallery”,
复制代码 代码如下:
switch ($_GET[''page'']){ case "nggallery-add-gallery" : include_once ( dirname (__FILE__) . ''/functions.php'' ); // admin functions include_once ( dirname (__FILE__) . ''/addgallery.php'' ); // nggallery_admin_add_gallery $ngg->addgallery_page = new nggAddGallery (); $ngg->addgallery_page->controller(); break;
类nggAddGallery在addgallery.php中,鼠标悬停在”新增图集“Tab上时从浏览器的状态栏可以看到URL是 admin.php?page=nggallery-add-gallery#addgallery , 在addgallery.php中查找"addgallery"看到其调用了:
nggAdmin::create_gallery($newgallery, $defaultpath);
nggAdmin类位于functions.php中,create_gallery函数修改如下:(红色粗体是新增加的行)
复制代码 代码如下:
require_once(''cn2pinyin.php''); /** * nggAdmin - Class for admin operation * * @package NextGEN Gallery * @author Alex Rabe * @copyright 2007-2010 * @access public */ class nggAdmin{ /** * create a new gallery & folder * * 添加中文支持 by:Elf Sundae * * @class nggAdmin * @param string $gallerytitle * @param string $defaultpath * @param bool $output if the function should show an error messsage or not * @return */ function create_gallery($gallerytitle, $defaultpath, $output = true) { global $wpdb, $user_ID; // get the current user ID get_currentuserinfo(); //cleanup pathname $galleryname = sanitize_file_name( $gallerytitle ); // 中文转换为拼音 $galleryname = cn2pinyin($galleryname,1); $galleryname = apply_filters(''ngg_gallery_name'', $galleryname); $nggpath = $defaultpath . $galleryname; $nggRoot = WINABSPATH . $defaultpath; $txt = '''';
其中cn2pinyin是汉字转换为拼音的函数,位于cn2pinyin.php(新建此文件)中。 cn2pinyin.php
复制代码 代码如下:
/** * * 中文转换为拼音 * */ function cn2pinyin($_String, $_Code=''gb2312'') { $_DataKey = "a|ai|an|ang|ao|ba|bai|ban|bang|bao|bei|ben|beng|bi|bian|biao|bie|bin|bing|bo|bu|ca|cai|can|cang|cao|ce|ceng|cha" . "|chai|chan|chang|chao|che|chen|cheng|chi|chong|chou|chu|chuai|chuan|chuang|chui|chun|chuo|ci|cong|cou|cu|" . "cuan|cui|cun|cuo|da|dai|dan|dang|dao|de|deng|di|dian|diao|die|ding|diu|dong|dou|du|duan|dui|dun|duo|e|en|er" . "|fa|fan|fang|fei|fen|feng|fo|fou|fu|ga|gai|gan|gang|gao|ge|gei|gen|geng|gong|gou|gu|gua|guai|guan|guang|gui" . "|gun|guo|ha|hai|han|hang|hao|he|hei|hen|heng|hong|hou|hu|hua|huai|huan|huang|hui|hun|huo|ji|jia|jian|jiang" . "|jiao|jie|jin|jing|jiong|jiu|ju|juan|jue|jun|ka|kai|kan|kang|kao|ke|ken|keng|kong|kou|ku|kua|kuai|kuan|kuang" . "|kui|kun|kuo|la|lai|lan|lang|lao|le|lei|leng|li|lia|lian|liang|liao|lie|lin|ling|liu|long|lou|lu|lv|luan|lue" . "|lun|luo|ma|mai|man|mang|mao|me|mei|men|meng|mi|mian|miao|mie|min|ming|miu|mo|mou|mu|na|nai|nan|nang|nao|ne" . "|nei|nen|neng|ni|nian|niang|niao|nie|nin|ning|niu|nong|nu|nv|nuan|nue|nuo|o|ou|pa|pai|pan|pang|pao|pei|pen" . "|peng|pi|pian|piao|pie|pin|ping|po|pu|qi|qia|qian|qiang|qiao|qie|qin|qing|qiong|qiu|qu|quan|que|qun|ran|rang" . "|rao|re|ren|reng|ri|rong|rou|ru|ruan|rui|run|ruo|sa|sai|san|sang|sao|se|sen|seng|sha|shai|shan|shang|shao|" . "she|shen|sheng|shi|shou|shu|shua|shuai|shuan|shuang|shui|shun|shuo|si|song|sou|su|suan|sui|sun|suo|ta|tai|" . "tan|tang|tao|te|teng|ti|tian|tiao|tie|ting|tong|tou|tu|tuan|tui|tun|tuo|wa|wai|wan|wang|wei|wen|weng|wo|wu" . "|xi|xia|xian|xiang|xiao|xie|xin|xing|xiong|xiu|xu|xuan|xue|xun|ya|yan|yang|yao|ye|yi|yin|ying|yo|yong|you" . "|yu|yuan|yue|yun|za|zai|zan|zang|zao|ze|zei|zen|zeng|zha|zhai|zhan|zhang|zhao|zhe|zhen|zheng|zhi|zhong|" . "zhou|zhu|zhua|zhuai|zhuan|zhuang|zhui|zhun|zhuo|zi|zong|zou|zu|zuan|zui|zun|zuo"; $_DataValue = "-20319|-20317|-20304|-20295|-20292|-20283|-20265|-20257|-20242|-20230|-20051|-20036|-20032|-20026|-20002|-19990" . "|-19986|-19982|-19976|-19805|-19784|-19775|-19774|-19763|-19756|-19751|-19746|-19741|-19739|-19728|-19725" . "|-19715|-19540|-19531|-19525|-19515|-19500|-19484|-19479|-19467|-19289|-19288|-19281|-19275|-19270|-19263" . "|-19261|-19249|-19243|-19242|-19238|-19235|-19227|-19224|-19218|-19212|-19038|-19023|-19018|-19006|-19003" . "|-18996|-18977|-18961|-18952|-18783|-18774|-18773|-18763|-18756|-18741|-18735|-18731|-18722|-18710|-18697" . "|-18696|-18526|-18518|-18501|-18490|-18478|-18463|-18448|-18447|-18446|-18239|-18237|-18231|-18220|-18211" . "|-18201|-18184|-18183|-18181|-18012|-17997|-17988|-17970|-17964|-17961|-17950|-17947|-17931|-17928|-17922" . "|-17759|-17752|-17733|-17730|-17721|-17703|-17701|-17697|-17692|-17683|-17676|-17496|-17487|-17482|-17468" . "|-17454|-17433|-17427|-17417|-17202|-17185|-16983|-16970|-16942|-16915|-16733|-16708|-16706|-16689|-16664" . "|-16657|-16647|-16474|-16470|-16465|-16459|-16452|-16448|-16433|-16429|-16427|-16423|-16419|-16412|-16407" . "|-16403|-16401|-16393|-16220|-16216|-16212|-16205|-16202|-16187|-16180|-16171|-16169|-16158|-16155|-15959" . "|-15958|-15944|-15933|-15920|-15915|-15903|-15889|-15878|-15707|-15701|-15681|-15667|-15661|-15659|-15652" . "|-15640|-15631|-15625|-15454|-15448|-15436|-15435|-15419|-15416|-15408|-15394|-15385|-15377|-15375|-15369" . "|-15363|-15362|-15183|-15180|-15165|-15158|-15153|-15150|-15149|-15144|-15143|-15141|-15140|-15139|-15128" . "|-15121|-15119|-15117|-15110|-15109|-14941|-14937|-14933|-14930|-14929|-14928|-14926|-14922|-14921|-14914" . "|-14908|-14902|-14894|-14889|-14882|-14873|-14871|-14857|-14678|-14674|-14670|-14668|-14663|-14654|-14645" . "|-14630|-14594|-14429|-14407|-14399|-14384|-14379|-14368|-14355|-14353|-14345|-14170|-14159|-14151|-14149" . "|-14145|-14140|-14137|-14135|-14125|-14123|-14122|-14112|-14109|-14099|-14097|-14094|-14092|-14090|-14087" . "|-14083|-13917|-13914|-13910|-13907|-13906|-13905|-13896|-13894|-13878|-13870|-13859|-13847|-13831|-13658" . "|-13611|-13601|-13406|-13404|-13400|-13398|-13395|-13391|-13387|-13383|-13367|-13359|-13356|-13343|-13340" . "|-13329|-13326|-13318|-13147|-13138|-13120|-13107|-13096|-13095|-13091|-13076|-13068|-13063|-13060|-12888" . "|-12875|-12871|-12860|-12858|-12852|-12849|-12838|-12831|-12829|-12812|-12802|-12607|-12597|-12594|-12585" . "|-12556|-12359|-12346|-12320|-12300|-12120|-12099|-12089|-12074|-12067|-12058|-12039|-11867|-11861|-11847" . "|-11831|-11798|-11781|-11604|-11589|-11536|-11358|-11340|-11339|-11324|-11303|-11097|-11077|-11067|-11055" . "|-11052|-11045|-11041|-11038|-11024|-11020|-11019|-11018|-11014|-10838|-10832|-10815|-10800|-10790|-10780" . "|-10764|-10587|-10544|-10533|-10519|-10331|-10329|-10328|-10322|-10315|-10309|-10307|-10296|-10281|-10274" . "|-10270|-10262|-10260|-10256|-10254"; $_TDataKey = explode(''|'', $_DataKey); $_TDataValue = explode(''|'', $_DataValue); $_Data = (PHP_VERSION >= ''5.0'') ? array_combine($_TDataKey, $_TDataValue) : _Array_Combine($_TDataKey, $_TDataValue); arsort($_Data); reset($_Data); if ($_Code != ''gb2312'') $_String = _U2_Utf8_Gb($_String); $_Res = ''''; for ($i = 0; $i $_P = ord(substr($_String, $i, 1)); if ($_P > 160) { $_Q = ord(substr($_String, ++$i, 1)); $_P = $_P * 256 + $_Q - 65536; } $_Res .= _Pinyin($_P, $_Data); } return preg_replace("/[^a-z0-9]*/", '''', $_Res); } function _Pinyin($_Num, $_Data) { if ($_Num > 0 && $_Num return chr($_Num); elseif ($_Num -10247) return ''''; else { foreach ($_Data as $k => $v) { if ($v break; } return $k; } } function _U2_Utf8_Gb($_C) { $_String = ''''; if ($_C $_String .= $_C; elseif ($_C $_String .= chr(0xC0 | $_C >> 6); $_String .= chr(0x80 | $_C & 0x3F); } elseif ($_C $_String .= chr(0xE0 | $_C >> 12); $_String .= chr(0x80 | $_C >> 6 & 0x3F); $_String .= chr(0x80 | $_C & 0x3F); } elseif ($_C $_String .= chr(0xF0 | $_C >> 18); $_String .= chr(0x80 | $_C >> 12 & 0x3F); $_String .= chr(0x80 | $_C >> 6 & 0x3F); $_String .= chr(0x80 | $_C & 0x3F); } return iconv(''UTF-8'', ''GB2312'', $_String); } function _Array_Combine($_Arr1, $_Arr2) { for ($i = 0; $i $_Res[$_Arr1[$i]] = $_Arr2[$i]; return $_Res; } //用法: //第二个参数留空则为gb1232编码 //echo cn2pinyin(''中文测试''); //第二个参数随意设置则为utf-8编码 //echo cn2pinyin(''中文测试'',1); ?>
download cn2pinyin.php at: http://xiazai.jb51.net/201012/yuanma/cn2pinyin.rar
另外,修改“新增图集”中的名称支持字符提示:
addgallery.php 中,Line:304
复制代码 代码如下:
function tab_addgallery() { ?> /// .... defaultpath ?> (图集名称支持以下字符:中文、A-Z、a-z、0-9、-、_ ,中文将自动转换为拼音) //...
http://www.bkjia.com/PHPjc/322749.html www.bkjia.com true http://www.bkjia.com/PHPjc/322749.html TechArticle NextGEN Gallery是Wordpress中著名的相册插件,遗憾的是不支持中文等unicode字符,本文将介绍如何将目录转换为拼音(添加图集时)。 以NextGEN 1...
android 中如何能让 gallery 中的每张图片支持多点触摸,并且不影响 gallery 的滑动 我在 eclipse 开发的时候遇到一个问题,就是 gallery 中的图片如果给设置多点触摸就会与 gallery 的滑动冲突,想知道这个问题该怎么解决是因为焦点冲突还是咋的?请大神多指教
Apache Hadoop NextGen MapReduce(YARN) 读http://hadoop.apache.org/docs/r2.2.0/hadoop-yarn/hadoop-yarn-site/YARN.html
一点理解。
MapReduce 从Hadoop-0.23版本做了很大的改动,后面的版本称为MapReduce 2.0(MRv2.0)或者YARN
把JobTracker, Resource management和job scheduling/monitoring功能分离了,所以从后面的版本没有了JobTracker,当时搭建环境时,看到网上的教程说有输入jps,就有JobTracker和TaskTracker了。结果傻傻地试了好几次,都失败了。
现在倒好了,把MapReduce分成了两部分:一个全局的ResourceManager(RM)和每个ApplicationMaster(AM)
ResourceManager就好像是一个老板,他有两个漂亮秘书,一个写策划书的(Scheduler),一个去执行策划书的(ApplicationsManager)。
写策划的,得考虑每个人能力等因素来分配任务量,但是她才不管你是怎么做的。
执行策划的,他不能事必躬亲吧,所以她得让她的小弟们(ApplicationMaster)去做这些事,所以她得保证任务的成功,照顾到小弟的一些情况。
当然了,这样还不行。有人会说,谁来监督这些做事的小弟们,执行策划的说了不算吧,写策划的还有来自星星的你等着呢,所以还得第三方(NodeManager)来干这个事,他负责监视他们,然后把这些报告给老板。
Delphi revelations #1 – kbmMW Smart client on NextGen (Android) – Scope problems
Delphi 启示 #1 – kbmMW Smart client on NextGen (Android) – 作用域问题
以更高级的方式使用kbmMW smart client,在Android设备上,我遇到了问题。
通过继承TInvokeableVariantType,kbmMW smart client可以使用Delphi支持的特殊类型的自定义Variant,从而可以写在项目中不存在的过程/方法/函数的调用代码。
这是一种很好的方法,允许使用几乎正常的Delphi语法直接“嵌入”脚本功能,或者在kbmMW的情况下允许调用服务器端方法而不必编写stub/skeleton代码。
以下代码是从kbmMW客户端到kbmMW服务器中的服务(someservice)的调用。 该调用接受4个参数,一个ID(字符串),一个整数(100)和两个通用TObjectLists(x.List1和x.List2)。
使用TInvokableVariantType的一个注意事项是,只能使用可存储在变体中的参数。 所有常规类型,整数,int64,字符串,浮点数等都可以使用,但是不做转换的情况下,对象是不能自动传递。在这种情况下,使用Use.AsVariant(...)语法返回一种特殊类型的Variant变量,kbmMW就神奇的将对象实例“转换”为自定义Variant类型,同时,该类型也支持控制对象的所有权。
这些在所有平台上都可以正常工作......只要参数列表中使用Use.AsVariant即可。
在Android上(我一般假设是NextGen),变量在实际调用之前被释放,因此使保存相关数据的记录结构的内容无效,运行时抛出“Invalid variant type”异常。
var
cli:IkbmMWSmartClient;
begin
cli: =TkbmMWSmartRemoteClientFactory.GetClient(transport,‘ someservice ‘ );
cli.Service.someMethod(x.ID, 100 ,Use.AsVariant (x.List1,false),Use.AsVariant (x.List2,false));
...
end ;
这该怎么办呢?方法 有多个...其中一个是将List1和List2组合在一个对象中并发送他到服务端......但是这需要服务端也要更新,以支持接收这个组合对象。
幸运的是,还有一种更简单的解决方案:
var
cli:IkbmMWSmartClient;
v1,v2:variant
begin
cli: =TkbmMWSmartRemoteClientFactory.GetClient(transport,‘ someservice ‘ );
v1: =Use.AsVariant(x.List1,false);
v2: =Use.AsVariant(x.List2,false);
cli.Service.someMethod(x.ID,v1,v2);
...
end ;
将变量定义为局部变量,以防止编译器过早释放variant变量的值。 现在,在NextGen上一切正常。
Mirth NextGen Connect 桌面上栏菜单服务器管理器链接到管理 UI 的错误安装? 如何解决Mirth NextGen Connect 桌面上栏菜单服务器管理器链接到管理 UI 的错误安装?
在 Mirth Connect 服务器管理器 UI 指向管理界面的早期非工作安装版本时遇到问题。
安装 Mirth 一次后不得不重新安装,因为原始安装已将密码要求设置为 the default admin account could not pass。当我这样做时,安装程序说它检测到 Mirth 已经安装并询问我是否要重新安装,我说是。但是,保留在桌面上方菜单栏中的 Mirth Connect 服务器管理器窗口的管理 UI 似乎仍在使用旧安装,但存在密码问题。
上方菜单栏中的 Mirth Connect Server Manager 图标将我带到错误的设置。无法从这带来的管理 UI 登录(被告知无法进行身份验证或连接(这是我在早期安装时遇到的问题))。
需要从这里使用程序
并确保我选择了正确的一个,然后我就可以使用默认的管理员帐户登录并照常进行。
有谁知道如何解决这个问题(例如,在我可以更改的底层文件中的某处)?还有什么我应该检查的,可能会因为这个我可能没有注意到的问题而搞砸了?我使用的是 Ubuntu 18.04.4LTS MATE。
解决方法
在安装文件夹\\conf\\mirth.properties 文件中,将 HTTP 和 HTTPS 端口更改为与之前不同的值。在浏览器中输入 localaddress:new_http 端口,然后单击图标 - 启动 Mirth Connect 管理员。点击保存的快捷方式将启动一个管理员启动器,允许您编辑和保存功能实例。
今天关于Wordpress 相册插件 NextGEN-Gallery 添加目录将中文转为拼音的解决办法_PHP教程 的分享就到这里,希望大家有所收获,若想了解更多关于android 中如何能让 gallery 中的每张图片支持多点触摸,并且不影响 gallery 的滑动、Apache Hadoop NextGen MapReduce(YARN)、Delphi revelations #1 – kbmMW Smart client on NextGen (Android) – Scope problems、Mirth NextGen Connect 桌面上栏菜单服务器管理器链接到管理 UI 的错误安装? 等相关知识,可以在本站进行查询。