欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

Devel generate 批量生成中文内容

shiping1 的头像

Devel generate 批量生成中文内容

(2012-03-03 23:08:40)
标签:

it

 

Devel模块中带的Devel generate虽可以生成示例内容,但其只能批量生成英文的。 做以下改动,可以使之批量生成中文内容。(devel7.x 1.2)

第一步:要把devel下的devel_generate文件夹中devel_generate.inc文件转为utf-8编码格式。
第二步:devel_generate.inc文件中,改两个函数。
devel_create_content($type = NULL) //这个函数自动生成内容。
function devel_create_greeking($word_count, $title = FALSE) //这个函数创建标题。
把这两个函数里的内容全删掉,都改为以下方式,即可。
1$length=mt_rand(3,40);//设置文字数目。可设置随机数,如标题设置1-40个字,内容设置1-3000字。
2$word= '示例';//如果想有"示例"前缀,可以$word='示例';
3$vowels = array("标", "题", "字", "段", "节","点", "区", "块","分", "类","数", "据", "库", ",","。", "练","函", "表","格", "链","接", "用","什", "注","架", "结","果" );//以设定的这些文字组句子,文字可自加选择加,可加标点,要注意个数,一般设置使:约40个字中有三个标点。
4$num_vowels = count($vowels);
5while(strlen($word)/3 < $length){ //在utf-8中,一个汉字占3字节。
6  $word .=  $vowels[mt_rand(0, $num_vowels - 1)];
7}
8return ($word);


附加几点:
1、strlen()函数计算字符串长度时,在utf8编码下,一个汉字是3个字符。所以这里要设置多少字时记得除以3。或改为strlen($word)/3
2、如果要加很多的字,可从《千字文》中选字。千字文是许多汉字没有重复的一个常见字集合,可百度一下《千字文》加以了解。这样选字时,可以方便的选取字而不会出现重复。

来自 http://blog.sina.com.cn/s/blog_4636489701013bdl.html
普通分类: