如何将波斯语或阿拉伯语句子替换为随机生成的英语单词或句子。例如,我有一个如下的网址
www.example.com/arti/19029/متی-نتها-نیبتی/new
我想将其转换如下
www.example.com/arti/19029/xideo-oiend/new
xideo-oiend 只是一个随机生成的单词,与 متی-نتها-نیبتی 无关。
仅将波斯语或阿拉伯语句子替换为英语随机生成的句子。如何在 php.ini 中找到它的阿拉伯语句子。
没有什么比“阿拉伯标签”或您可以评估的字符串上的东西。相反,您必须自己定义一个检测例程,但这应该不会太难:
在 php 中,您可以在超全局 $_SERVER var 中获得请求的 url(/arti/19029/متی-نتها-نیبتی/new
在您的示例中)。您可以使用正则表达式对其进行剖析(查看preg_match()
函数)并提取与某些特征匹配的字符串部分。在您的情况下,您必须在字符串中查找一定范围的字符,即阿拉伯字符。
如果字符串的阿拉伯部分总是出现在请求的 url 内的相同位置,事情会变得容易得多。然后您不必检查某些字符,而是可以使用更简单的模式搜索。
当然......但它有点慢,我正在寻找替代解决方案。首先我使用了爆炸功能:
$pieces = explode('/',$url);
然后我使用implode()
函数 witharray_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
这可能是愚蠢的解决方案,但它奏效了。如果您有更好的解决方案,请发布。