2013-02-14 55 views
1

我懷疑是否有PHP函數用於此目的,但我至少要問,以防萬一存在。PHP - 動態生成的文本 - 在某些國家之前添加「該」

我正在建立一個依賴用戶國家的網站,並且該國家正在自動插入網頁的內容中幾次。一個基本的例子:

<?php echo "Find shoes in ".$country; ?> 

打印:

查找鞋在英國

我的問題是上面這句話聽起來並不語法正確,而且我相信它應該閱讀:

查找鞋在英國

這是英國的,就像你有美國的美國或荷蘭等

我不能只是加上「的」入刑,因爲「在法國找鞋「顯然沒有意義。

有沒有辦法解決這個問題,還是我只需要遍歷所有200多個國家,並找出哪些需要額外的詞彙迴應呢?

感謝

+0

我認爲使用國家簡寫不需要單詞「THE'',你可以像這樣使用'(美國或美國)'。 任何方式,如果你想添加它,你必須手動做 – 2013-02-14 14:55:33

回答

0

這種語言將反映字數我想...我還沒有,當然所有國家:)但一般的經驗法則的思想,嘗試做

<?php echo "Find shoes in ".((str_word_count($country) == 1) ? 'the ' : '') . $country; ?> 

位哈希,但我認爲這實際上會工作語言明智?因爲那些需要「''前綴的國家最有可能有多個單詞。

+0

謝謝,我會給這個去看看它是如何工作的。我也在想,我可以在國家末端尋找「s」,例如:菲律賓應該是「菲律賓」。不知道這是否適用於所有國家:) – Will 2013-02-14 15:02:11

+0

我不認爲這將在一般情況下運作良好。例如,「哥斯達黎加」(而不是「哥斯達黎加」)和「荷蘭」(而不是「荷蘭」)。可能更好的啓發是檢查名稱是否有「of」或以「s」結尾。 http://www.grammar-quizzes.com/article4c.html – 808sound 2013-02-14 15:03:29

+0

我還會補充一點,因爲這個詞的複數形式表明它也需要一個'the'前綴。 – djjjuk 2013-02-14 15:04:57

0

這可能是需要考慮的事情 - 編寫一個快速腳本,檢查每個句子與Deadline API之後的情況。

http://www.afterthedeadline.com/api.slp

然後建立的結果的陣列 - 可節省位的時間超過一手動過程。