我有一個有趣的查詢..百科風格包括 - 週期檢測PHP
我可能已經過了簡化的例子,但虐待盡我所能來描述我的問題。
我建立一個非常簡單的實現從無到有維基的,一切都很順利,直到我意識到我需要循環檢測,以防止數據填充頁面和幸福滿溢棧堆的無限循環。
數據庫結構是基本的,還有其更復雜的,什麼是示但對於這個目的的後兩列是我們所需要的。
內容字段很簡單,它存儲頁面或WikiPart鏈接的內容,即[[n]]鏈接到另一部分幷包含,鏈接被購買爲[[n]],包括{{n }}。
+---------------------------+
| id | Content |
+---------------------------+
| 1 | see {{2}} here |
+---------------------------+
| 2 | {{1}} here [[4]] |
+---------------------------+
| 4 | {{1}} |
+---------------------------+
$html_for_screen = readData($this->Content);
function readData($wikipage) {
$str = "";
//Convert any wiki links to HTML Links
$wikipage = Converter::convertWikink($wikipage);
//Get ALL Include Link matches into array
$wiki_inc = RegEx::getMatches(wikipage);
//Iterate through the Matches
foreach($wiki_inc as $wiki) {
//traverse through each match.
//but I assume here is where I would eventually have the trouble
//With infinant loops
$str .= readData($wiki);
}
return $str;
}
問題: 我將如何防止維基部分不休包括海誓山盟。 即WikiPart 1包含WikiPart2 ..但是WikiPart 2包含WikiPart1
parse或readData()函數將繼續循環。
關於
那麼......你的問題在哪裏? – Nick 2011-12-15 16:51:47
哦,是的,謝謝..大聲笑 – IEnumerable 2011-12-15 16:54:42