用php代碼實現邏輯不通的文章生成器

看到網上有Python的代碼實現的邏輯不通的文章生成器,

自己也做了一個php的,挺好玩的,分享給大家!

源碼:

/**
 * 用代碼實現邏輯不通的文章生成器
 */
$data = json_decode(file_get_contents('data.json'), true);
function generator($title, $length, $data)
{
    $body = "";
    while(strlen($body) < $length) {
        $num = rand(0, 100);
        if($num < 10) {
            $body .= "\r\n";
            $body .= "<br />";
        }elseif($num < 20) {
            $fcontent = $data['famous'][rand(0, count($data['famous'])-1)];
            $fcontent = str_replace('a', $data['before'][rand(0,count($data['before'])-1)], $fcontent);
            $fcontent = str_replace('b', $data['after'][rand(0, count($data['after'])-1)], $fcontent);
            $body .= $fcontent;
        }else{
            $body .= $data['bosh'][rand(0, count($data['bosh'])-1)];
            $body = str_replace('x', $title, $body);
        }
    }
    return $body;
}
$title = '一條狗的使命';
echo "<h1 style='text-align: center'>{$title}</h1>";
print_r(generator($title, 2000, $data));

data.json內容

{
  "famous":[
    "愛迪生a,天才是百分之一的勤奮加百分之九十九的汗水。b",
    "查爾斯·史a,一個人幾乎可以在任何他懷有無限熱忱的事情上成功。b",
    "培根說過,深窺自己的心,而後發覺一切的奇蹟在你自己。b",
    "歌德曾經a,流水在碰到底處時纔會釋放活力。b",
    "莎士比亞a,那腦袋裏的智慧,就像打火石裏的火花一樣,不去打它是不肯出來的。b",
    "戴爾·卡耐基a,多數人都擁有自己不瞭解的能力和機會,都有可能做到未曾夢想的事情。b",
    "白哲特a,堅強的信念能贏得強者的心,並使他們變得更堅強。b",
    "伏爾泰a,不經巨大的困難,不會有偉大的事業。b",
    "富勒曾經a,苦難磨鍊一些人,也毀滅另一些人。b",
    "文森特·皮爾a,改變你的想法,你就改變了自己的世界。b",
    "拿破崙·希爾a,不要等待,時機永遠不會恰到好處。b",
    "塞涅卡a,生命如同寓言,其價值不在與長短,而在與內容。b",
    "奧普拉·溫弗瑞a,你相信什麼,你就成爲什麼樣的人。b",
    "呂凱特a,生命不可能有兩次,但許多人連一次也不善於度過。b",
    "莎士比亞a,人的一生是短的,但如果卑劣地過這一生,就太長了。b",
    "笛卡兒a,我的努力求學沒有得到別的好處,只不過是愈來愈發覺自己的無知。b",
    "左拉a,生活的道路一旦選定,就要勇敢地走到底,決不回頭。b",
    "米歇潘a,生命是一條艱險的峽谷,只有勇敢的人才能通過。b",
    "吉姆·羅恩a,要麼你主宰生活,要麼你被生活主宰。b",
    "日本諺語a,不幸可能成爲通向幸福的橋樑。b",
    "海貝爾a,人生就是學校。在那裏,與其說好的教師是幸福,不如說好的教師是不幸。b",
    "傑納勒爾·喬治·S·巴頓a,接受挑戰,就可以享受勝利的喜悅。b",
    "德謨克利特a,節制使快樂增加並使享受加強。b",
    "裴斯泰洛齊a,今天應做的事沒有做,明天再早也是耽誤了。b",
    "歌德a,決定一個人的一生,以及整個命運的,只是一瞬之間。b",
    "卡耐基a,一個不注意小事情的人,永遠不會成就大事業。b",
    "盧梭a,浪費時間是一樁大罪過。b",
    "康德a,既然我已經踏上這條道路,那麼,任何東西都不應妨礙我沿着這條路走下去。b",
    "克勞斯·莫瑟爵士a,教育需要花費錢,而無知也是一樣。b",
    "伏爾泰a,堅持意志偉大的事業需要始終不渝的精神。b",
    "亞伯拉罕·林肯a,你活了多少歲不算什麼,重要的是你是如何度過這些歲月的。b",
    "韓非a,內外相應,言行相稱。b",
    "富蘭克林a,你熱愛生命嗎?那麼別浪費時間,因爲時間是組成生命的材料。b",
    "馬爾頓a,堅強的信心,能使平凡的人做出驚人的事業。b",
    "笛卡兒a,讀一切好書,就是和許多高尚的人談話。b",
    "塞涅卡a,真正的人生,只有在經過艱難卓絕的鬥爭之後才能實現。b",
    "易卜生a,偉大的事業,需要決心,能力,組織和責任感。b",
    "歌德a,沒有人事先了解自己到底有多大的力量,直到他試過以後才知道。b",
    "達爾文a,敢於浪費哪怕一個鐘頭時間的人,說明他還不懂得珍惜生命的全部價值。b",
    "佚名a,感激每一個新的挑戰,因爲它會鍛造你的意志和品格。b",
    "奧斯特洛夫斯基a,共同的事業,共同的鬥爭,可以使人們產生忍受一切的力量。 b",
    "蘇軾a,古之立大事者,不惟有超世之才,亦必有堅忍不拔之志。b",
    "王陽明a,故立志者,爲學之心也;爲學者,立志之事也。b",
    "歌德a,讀一本好書,就如同和一個高尚的人在交談。b",
    "烏申斯基a,學習是勞動,是充滿思想的勞動。b",
    "別林斯基a,好的書籍是最貴重的珍寶。b",
    "富蘭克林a,讀書是易事,思索是難事,但兩者缺一,便全無用處。b",
    "魯巴金a,讀書是在別人思想的幫助下,建立起自己的思想。b",
    "培根a,合理安排時間,就等於節約時間。b",
    "屠格涅夫a,你想成爲幸福的人嗎?但願你首先學會吃得起苦。b",
    "莎士比亞a,拋棄時間的人,時間也拋棄他。b",
    "叔本華a,普通人只想到如何度過時間,有才能的人設法利用時間。b",
    "博a,一次失敗,只是證明我們成功的決心還夠堅強。 維b",
    "拉羅什夫科a,取得成就時堅持不懈,要比遭到失敗時頑強不屈更重要。b",
    "莎士比亞a,人的一生是短的,但如果卑劣地過這一生,就太長了。b",
    "俾斯麥a,失敗是堅忍的最後考驗。b",
    "池田大作a,不要回避苦惱和困難,挺起身來向它挑戰,進而克服它。b",
    "莎士比亞a,那腦袋裏的智慧,就像打火石裏的火花一樣,不去打它是不肯出來的。b",
    "希臘a,最困難的事情就是認識自己。b",
    "黑塞a,有勇氣承擔命運這纔是英雄好漢。b",
    "非洲a,最靈繁的人也看不見自己的背脊。b",
    "培根a,閱讀使人充實,會談使人敏捷,寫作使人精確。b",
    "斯賓諾莎a,最大的驕傲於最大的自卑都表示心靈的最軟弱無力。b",
    "西班牙a,自知之明是最難得的知識。b",
    "塞內加a,勇氣通往天堂,怯懦通往地獄。b",
    "赫爾普斯a,有時候讀書是一種巧妙地避開思考的方法。b",
    "笛卡兒a,閱讀一切好書如同和過去最傑出的人談話。b",
    "鄧拓a,越是沒有本領的就越加自命不凡。b",
    "愛爾蘭a,越是無能的人,越喜歡挑剔別人的錯兒。b",
    "老子a,知人者智,自知者明。勝人者有力,自勝者強。b",
    "歌德a,意志堅強的人能把世界放在手中像泥塊一樣任意揉捏。b",
    "邁克爾·F·斯特利a,最具挑戰性的挑戰莫過於提升自我。b",
    "愛迪生a,失敗也是我需要的,它和成功對我一樣有價值。b",
    "羅素·貝克a,一個人即使已登上頂峯,也仍要自強不息。b",
    "馬雲a,最大的挑戰和突破在於用人,而用人最大的突破在於信任人。b",
    "雷鋒a,自己活着,就是爲了使別人過得更美好。b",
    "布爾沃a,要掌握書,莫被書掌握;要爲生而讀,莫爲讀而生。b",
    "培根a,要知道對好事的稱頌過於誇大,也會招來人們的反感輕蔑和嫉妒。b",
    "莫扎特a,誰和我一樣用功,誰就會和我一樣成功。b",
    "馬克思a,一切節省,歸根到底都歸結爲時間的節省。b",
    "莎士比亞a,意志命運往往背道而馳,決心到最後會全部推倒。b",
    "卡萊爾a,過去一切時代的精華盡在書中。b",
    "培根a,深窺自己的心,而後發覺一切的奇蹟在你自己。b",
    "羅曼·羅蘭a,只有把抱怨環境的心情,化爲上進的力量,纔是成功的保證。b",
    "孔子a,知之者不如好之者,好之者不如樂之者。b",
    "達·芬奇a,大膽和堅定的決心能夠抵得上武器的精良。b",
    "叔本華a,意志是一個強壯的盲人,倚靠在明眼的跛子肩上。b",
    "黑格爾a,只有永遠躺在泥坑裏的人,纔不會再掉進坑裏。b",
    "普列姆昌德a,希望的燈一旦熄滅,生活剎那間變成了一片黑暗。b",
    "維龍a,要成功不需要什麼特別的才能,只要把你能做的小事做得好就行了。b",
    "郭沫若a,形成天才的決定因素應該是勤奮。b",
    "洛克a,學到很多東西的訣竅,就是一下子不要學很多。b",
    "西班牙a,自己的鞋子,自己知道緊在哪裏。b",
    "拉羅什福科a,我們唯一不會改正的缺點是軟弱。b",
    "亞伯拉罕·林肯a,我這個人走得很慢,但是我從不後退。b",
    "美華納a,勿問成功的祕訣爲何,且盡全力做你應該做的事吧。b",
    "俾斯麥a,對於不屈不撓的人來說,沒有失敗這回事。b",
    "阿卜·日·法拉茲a,學問是異常珍貴的東西,從任何源泉吸收都不可恥。b",
    "白哲特a,堅強的信念能贏得強者的心,並使他們變得更堅強。 b",
    "查爾斯·史考伯a,一個人幾乎可以在任何他懷有無限熱忱的事情上成功。 b",
    "貝多芬a,卓越的人一大優點是:在不利與艱難的遭遇裏百折不饒。b",
    "莎士比亞a,本來無望的事,大膽嘗試,往往能成功。b",
    "卡耐基a,我們若已接受最壞的,就再沒有什麼損失。b",
    "德國a,只有在人羣中間,才能認識自己。b",
    "史美爾斯a,書籍把我們引入最美好的社會,使我們認識各個時代的偉大智者。b",
    "馮學峯a,當一個人用工作去迎接光明,光明很快就會來照耀着他。b",
    "吉格·金克拉a,如果你能做夢,你就能實現它。b",
    "林則徐a,海納百川有容乃大;壁立千仞無欲則剛。b",
    "孟子a,窮則獨善其身,,達則兼濟天下。b",
    "韓愈a,業精於勤,荒於嬉;行成於思,毀於隨。",
    "杜甫a,讀書破萬卷,下筆如有神。b",
    "莊子a,君子之交淡若水,小人之交甘若醴,君子淡以親,小人甘以絕。b",
    "孔子a,學而不思則罔,思而不學則殆。b",
    "蕭繹a,一年之計在於春,一日之計在於晨。b",
    "顏真卿a,三更燈火五更雞,正是男兒讀書時,黑髮不知勤學早,白首方悔讀書遲。b",
    "岳飛a,莫等閒,白了少年頭,空悲切。b"
  ],
  "bosh":[
    "現在,解決x的問題,是非常非常重要的。 所以,",
    "我們不得不面對一個非常尷尬的事實,那就是,",
    "x的發生,到底需要如何做到,不x的發生,又會如何產生。 ",
    "而這些並不是完全重要,更加重要的問題是,",
    "x,到底應該如何實現。 ",
    "帶着這些問題,我們來審視一下x。 ",
    "所謂x,關鍵是x需要如何寫。 ",
    "我們一般認爲,抓住了問題的關鍵,其他一切則會迎刃而解。",
    "問題的關鍵究竟爲何? ",
    "x因何而發生?",
    "每個人都不得不面對這些問題。  在面對這種問題時,",
    "一般來講,我們都必須務必慎重的考慮考慮。 ",
    "要想清楚,x,到底是一種怎麼樣的存在。 ",
    "瞭解清楚x到底是一種怎麼樣的存在,是解決一切問題的關鍵。",
    "就我個人來說,x對我的意義,不能不說非常重大。 ",
    "本人也是經過了深思熟慮,在每個日日夜夜思考這個問題。 ",
    "x,發生了會如何,不發生又會如何。 ",
    "在這種困難的抉擇下,本人思來想去,寢食難安。",
    "生活中,若x出現了,我們就不得不考慮它出現了的事實。 ",
    "x對本人來說意義重大,相信對這個世界也是有一定意義的。",
    "我們都知道,只要有意義,那麼就必須慎重考慮。",
    "既然如此,",
    "那麼,",
    "我認爲,",
    "一般來說,",
    "總結的來說,",
    "既然如何,",
    "經過上述討論,",
    "這樣看來,",
    "從這個角度來看,",
    "從另一個的角度來看,",
    "我們不妨可以這樣來想: ",
    "這是不可避免的。 ",
    "可是,即使是這樣,x的出現仍然代表了一定的意義。 ",
    "x似乎是一種巧合,但如果我們從一個更大的角度看待問題,這似乎是一種不可避免的事實。 ",
    "在這種不可避免的衝突下,我們必須解決這個問題。 ",
    "對我個人而言,x不僅僅是一個重大的事件,還可能會改變我的人生。 "
  ],
  "after":[
    "這不禁令我深思。 ",
    "帶着這句話,我們還要更加慎重的審視這個問題: ",
    "這啓發了我。 ",
    "我希望諸位也能好好地體會這句話。 ",
    "這句話語雖然很短,但令我浮想聯翩。 ",
    "這句話看似簡單,但其中的含義不禁讓人深思。 ",
    "這句話把我們帶到了一個新的維度去思考這個問題: ",
    "這似乎解答了我的疑惑。 "
  ],
  "before":[
    "曾經說過",
    "在不經意間這樣說過",
    "說過一句著名的話",
    "曾經提到過",
    "說過一句富有哲理的話",
    "鏗鏘有力的談道",
    "所有接觸過人都盛讚"
  ]
}

生成效果

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章