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

时间:2013-08-25 17:41:27

标签: php random replace arabic persian

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

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

我想将其转换为如下

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

xideo-oiend只是一个随机生成的单词,它与متی-نتها-نیبتی没有任何关系。

仅将波斯语或阿拉伯语句子替换为英语随机生成的句子。如何在php中找到它的阿拉伯语句子。

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

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

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

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

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

然后我再次使用implode()函数和array_slice()来获取网址的最后一部分

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

最后我在中间用随机生成字符串函数加入了它们:

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

这可能是愚蠢的解决方案,但它有效。如果您有更好的解决方案,请发布。