小编Phi*_*lip的帖子

使用JavaScript执行带/不带重音字符的文本匹配

我正在使用基于AJAX的查找来查找用户在文本框中搜索的名称.

我假设数据库中的所有名称都将被音译为欧洲字母表(即没有西里尔语,日语,中文).但是,名称仍将包含重音字符,例如ç,ê甚至č和ć.

像"Micic"这样的简单搜索与"Mičić"不匹配 - 而且用户的期望是它会.

AJAX查找使用正则表达式来确定匹配.我已使用此函数修改了正则表达式比较,以尝试匹配更多重音字符.但是,它有点笨拙,因为它没有考虑到所有角色.

function makeComp (input)
{
    input = input.toLowerCase ();
    var output = '';
    for (var i = 0; i < input.length; i ++)
    {
        if (input.charAt (i) == 'a')
            output = output + '[aàáâãäåæ]'
        else if (input.charAt (i) == 'c')
            output = output + '[cç]';
        else if (input.charAt (i) == 'e')
            output = output + '[eèéêëæ]';
        else if (input.charAt (i) == 'i')
            output = output + '[iìíîï]';
        else if (input.charAt (i) == 'n')
            output = …
Run Code Online (Sandbox Code Playgroud)

javascript string collation non-ascii-characters

23
推荐指数
5
解决办法
3万
查看次数

Google Apps管理Java API中的批处理操作

我编写了一个Java应用程序,用于在我们的Google Apps for Education域上同步Google网上论坛(功能类似于Google Apps School Directory Sync,但针对我们的某些特定需求进行了定制).

同步有效,但速度很慢,因为它正在单独执行每个任务.我知道有批处理操作的 API接口,但我找不到任何关于如何使用Java API实现它的示例.

我正在使用的代码看起来与此类似(身份验证和其他设置在其他地方处理):

try
{
    Member m = new Member ();
    m.setEmail (member);
    m.setRole ("MEMBER");
    service.members ().insert (group, m).execute ();
}
catch (Exception e)
{
    // ERROR handling
}
Run Code Online (Sandbox Code Playgroud)

我不是一个一个地执行这些操作,而是想要批量处理它们.谁能告诉我怎么样?

java google-apps-for-education google-admin-sdk

15
推荐指数
1
解决办法
478
查看次数

如何将XML RSA密钥转换为PEM文件?

我有两个XML文件,结构如下:

我的钥匙

<RSAKeyValue>
  <Modulus> ... </Modulus>
  <Exponent> ... </Exponent>
  <P> ... </P>
  <Q> ... </Q>
  <DP> ... </DP>
  <DQ> ... </DQ>
  <InverseQ> ... </InverseQ>
  <D> ... </D>
</RSAKeyValue>
Run Code Online (Sandbox Code Playgroud)

公钥

<RSAKeyValue>
   <Modulus> ... </Modulus>
   <Exponent> ... </Exponent>
</RSAKeyValue>
Run Code Online (Sandbox Code Playgroud)

我正在使用xmlseclibsRobert Richards 的库,它需要密钥的.PEM表示才能加密和解密.

作为加密新手,我不知道从哪里开始,粗略的谷歌搜索没有透露任何特别明显的东西......

谢谢!

xml security rsa pem xmlseclibs

9
推荐指数
1
解决办法
2万
查看次数

适合中学生的良好编程指南

我希望这个论坛是提出这个问题的正确场所!

我是一所中学/高中的老师,八年级学生之一有兴趣自学一些编程.

我推荐Python作为入门语言.我一直在努力寻找任何可以访问的编程指南(从语言和语调的角度来看)到八年级学生.

有没有可以推荐的指南?

python

6
推荐指数
1
解决办法
325
查看次数

为什么使用 array_map 进行大数组时内存溢出?

当我测试时array_map()功能时。有一个很奇怪的现象。

正常大小的数组

$array = range(1, 100000);
echo memory_get_usage();
array_map(function($value) {}, $array);
echo memory_get_usage();
Run Code Online (Sandbox Code Playgroud)

结果

8649024
8649024
Run Code Online (Sandbox Code Playgroud)

很明显,内存大小是相等的。

但对于大数组

$array = range(1, 10000000);
echo memory_get_usage();
array_map(function($value) {}, $array);
echo memory_get_usage();
Run Code Online (Sandbox Code Playgroud)

结果

84319040
Run Code Online (Sandbox Code Playgroud)

致命错误:第 6 行 G:\phpStudy\WWW\testSpeed.php 中允许的内存大小 134217728 字节已耗尽(尝试分配 36 字节)

为什么?我到处都有搜索答案。但似乎很少有人有这个问题。如果有人可以帮助我吗?谢谢你!

php arrays array-map

6
推荐指数
1
解决办法
1952
查看次数

我可以将 VC9 编译的 PHP 与 Apache 一起使用吗?

根据Windows Binaries下载页面http://windows.php.net/download/

不要将 VC9 版本与 apache.org 二进制文件一起使用

这还成立吗?唯一的 VC6 二进制文件适用于 PHP 5.2,我相信 Microsoft 不再支持 VC6?

php apache visual-c++-6 visual-c++-2008

4
推荐指数
1
解决办法
1516
查看次数

PHP上的OpenSSL问题 - 不同版本的不同行为

(此问题最初发布在ServerFault上 - 我已将其删除并将其移至此处.)

我有一台运行PHP 5.3.5的开发机器和一台运行PHP 5.3.8的生产机器.

以下代码在开发计算机上运行:

<?php
$key = "-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC0x+2RiQ+LCZNAUcl/Ecf1NrTr
lhjOiHaVC+w/y+UJevqVcDstD22OJGwT13B9T47OuQG9BmzcZQYLcShUMhVD/Owu
9+8PcK51EnBd0lym6+z/WixpnqfQonyKiqq5ytmYKUlUv39J8QQUI2geyvY9VpWS
wyNcFUs7wPl2zsLCPQIDAQAB
-----END PUBLIC KEY-----";

$data = "Hello, world!";

$key1 = openssl_get_publickey($key);
print_r ($key1);
echo "<p>";

$res = openssl_public_encrypt($data, $encrypted_data, $key1, OPENSSL_PKCS1_PADDING);

echo base64_encode($encrypted_data);
Run Code Online (Sandbox Code Playgroud)

在我的开发机器上,此代码输出资源和编码字符串.我会在这里复制它,但当然每次都会改变.在生产计算机上,此代码生成资源编号和以下PHP错误:

PHP Warning:  openssl_public_encrypt(): Don't know how to get public key from this private key in C:\xxx\test.php on line 15
PHP Warning:  openssl_public_encrypt(): key parameter is not a valid public key in C:\xxx\test.php on line 15
Run Code Online (Sandbox Code Playgroud)

遗憾的是,在生产机器上安装旧版本的PHP目前不是一种选择,因为其上运行的其他应用程序至少需要5.3.8.

如果我升级到5.4.x会有帮助吗?

我知道5.3.5上的OpenSSL版本是0.9.8,而5.3.8中的版本是1.0.0.我想那里可能有问题.有什么方法可以解决这个问题吗?

我试图尽可能多地从OpenSSL.org网站和PHP bug跟踪器中找到它,但我不知道我在寻找什么. …

php openssl public-key-encryption

2
推荐指数
1
解决办法
4860
查看次数