最近繼續幫 Avane 改版,要開始支援 foreach 跟 if,
其中用到了正規表達式去取得 Avane 的標籤,
不過,正規表達式真不是蓋的。
也不是人腦能夠想像的。
後記:
圖片上的應該是:(?:{(?:if)|(?<!^)\G)\s?(\$[-\w]+)?[^()\s$](?=[^()]}) 才對。
說穿了,就只是一個下面這樣的按鈕而已
<button data-star-action="star"
data-star-id="4"
data-star-target="Meow"
class="js-star-btn"></button>
這裡是他們的說明:
data-star-action 用來存放接下來應該「Star(星號)」還是「Unstar(取消星號)」的動作。
data-star-id 則是目標對象的編號。
data-star-target 則是目標的種類。
其實 Twitter 也是採用這種方法,但是他們不會將編號寫在按鈕上,
而是在包含這個按鈕的「容器」上,如此一來就不需要一直寫 data 的標籤到每一個按鈕
只需要取得這按鈕容器的標籤就可以了,那為什麼我不這樣做呢,
因為我想說統一化就好了,如果我選擇寫在容器上,每個地方的 HTML 不同,
取得容器的方式也有所不同,那不如我先暫時寫在按鈕上吧 ..
其實很簡單就是 JSON 格式啦,很多網站都是,不過差別在於你接收到的資料是不一樣的,
有的網站他們會回傳很多個 Object,然後到你電腦上在自己建立成 HTML,
但是 TeaMeow 的方式跟 Twitter 很像,是在伺服器端建立好 HTML,才傳給你,
不過沒有 Twitter 這麼先進就是了(因為 Twitter 不只回傳 HTML,還有每篇文章的 Object):
就這樣,熬夜的日子又要持續下去了。
原本是想說在資料庫裡存上「時間微調」,例如「GMT +8」就會存上「480(正整數)」(將小時換成分鐘),
接著在需要呼叫時間的時候用下列方式去回傳:
$TimeOffset = 480; date($TimeFormat, $Time + ($TimeOffset * 60) * 60)
原理很簡單,就是將 Unix 時間加上「正」或是「負」來微調時間,模擬 +00:00 或是 -00:00 之類的時區,
但是後來發現網路上有人說這樣做並不可行,例如英國在三月到十月之間,時區為 BST (GMT + 1),
這個時候我們所做的「時間微調」就廢掉了,這是想玩死誰。
這個時候還是只能投靠原 PHP 的函式了,那就是 DateTime 函式,
然後就必需存像這樣的字串在資料庫裡:"Asia/Taipei", “Pacific/Nauru",
這裡是他的用法
$DateTime = new DateTime($TimeStamp, $TimeZone);
echo $DateTime->format('Y-m-d H:i:s');
$Datetime->setTimezone(new DateTimeZone('Asia/Taipei'));
echo $DateTime->format('Y-m-d H:i:s');
生不出文章只好閒聊了,想說看能不能達成每日一篇廢文的成就,
很多人喜歡抄襲 Facebook 的「讚」,也不曉得到底有什麼問題,
也許是想抄襲 Facebook 的成功,但是沒有人真正暸解到就算不言語霸凌,「讚」也是可以霸凌人的,
這就是為什麼 TeaMeow 沒有讚的功能,但冒出了一個大家常用的「星號」,
其實就要說到接下來的功能了:星號是用來標記你想關注的事物。閱讀更多»