将波斯语或阿拉伯语句子替换为随机生成的英语


Replace persian or arabic sentence to randomly generated english

如何将波斯语或阿拉伯语句子替换为随机生成的英语单词或句子。例如,我有一个url如下

www.example.com/arti/19029/متی-نتها-نیبتی/new

我想将其转换为以下

www.example.com/arti/19029/xideo-oiend/new

xideo-oiend只是一个随机生成的单词,与م。

只将波斯语或阿拉伯语句子替换为英语随机生成的句子。如何在php中发现这是一个阿拉伯语句子。

没有什么比"阿拉伯标签"或字符串上的东西更值得评估的了。相反,你必须自己定义一个检测程序,尽管这应该不会太难:

在php中,您可以在超全局$_SERVER变量中获得请求的url(在您的示例中为/arti/19029/متی-نتها-نیبتی/new)。您可以使用正则表达式(查看preg_match()函数)来提取它,并提取字符串中与某些特征匹配的部分。在您的情况下,您必须在字符串中查找特定范围的字符,即阿拉伯字符。

如果字符串的阿拉伯部分总是出现在请求的url内的同一位置,事情就会变得容易得多。然后,您不必检查某些字符,而是可以使用更简单的模式搜索。

当然。。。但它有点慢,我正在寻找替代的解决方案。首先我使用了爆炸功能:

$pieces  = explode('/',$url); 

然后我使用implode()函数和array_slice()来获得URL的第一部分(URL直到阿拉伯语单词):

$part1 = implode('/', array_slice($pieces, 0, 3));

然后我再次使用implode()函数和array_slice()来获得URL 的最后部分

$part2 = implode('/', array_slice($pieces, 4, 5));

最后我加入了他们中间的随机生成字符串函数:

    $url = $part1.'/'.RandomString().'/'.$part2

这也许是一个愚蠢的解决方案,但它奏效了。如果您有更好的解决方案,请将其发布。