2012-07-04 41 views
0

爲Java和Python的谷歌應用服務平臺協議指南描述了一個網頁的標題是標準化爲使用以下(不完全)規則(S)*路徑:如何使用Google Apps腳本規範Google協作平臺網頁名稱?

規範化是修剪+崩潰空白來' - '並刪除不匹配az,AZ,0-9, - ,_的字符。

沒有我可以找到的Google Apps腳本的這種文檔,我無法找到實現此目的的幫助器功能 - 最好以與Google協作平臺UI相同的方式。

我第一次嘗試 - 我知道是不完整的(它不應對谷歌網站UI如何處理開始和字符串的結尾)看起來是這樣的:

str.trim().replace(/\s+/g, '-').replace(/[^a-z0-9_-]/ig, '-').toLowerCase(); 

在上下文我使用這是我有一個頁面標題的列表,我試圖確定該網頁是否已經存在於一個網站。不幸的是,我無法使用文本表示來檢查。

例如,使用Google協作平臺「創建新頁面用戶界面」,名爲「004.Policy Deployment(Hoshin Kanri)」的頁面將具有路徑「004-policy-deployment-hoshin-kanri」。

在使用中,我試圖做檢查,如果一個頁面是否存在,如果確實如此,那麼做一些事情,如果它不那麼做別的事,像這樣:

if (mySite.getChildByName(myNewPagePath) != null) { 
    // do something for pages that exist 
} else { 
    // do something for pages that don't exist 
} 

* https://developers.google.com/google-apps/sites/docs/1.0/developers_guide_protocol

問題:

  1. 是否有一個標準化網頁標題現有的輔助函數?
  2. 有沒有更好的方法來檢查頁面是否已經存在?
  3. 有沒有一種方法可以檢查頁面是否以其最終用戶標題存在,而不是其路徑?

回答

0

你可以得到孩子的名單,並通過標題循環。否則,不存在這樣做的現有函數,儘管您的正則表達式對我來說看起來不錯。

+0

不幸的是,我的正則表達式行爲與用戶界面中看到的行爲稍有不同。具體來說,領先和尾隨的白色空間與替換字符相結合確實是時髦的東西。我試圖跟蹤並突出顯示用戶界面,並查看是否可以對實際代碼進行反向工程,但混淆程度超出了我的嘗試。遍歷所有頁面是我沒有考慮的一個選項 - 非常邪惡,但可能。 –

0

您可以嘗試使用search()方法,傳遞未標準化的標題,然後檢查結果以查看是否有任何頁面具有期望的標題。

相關問題