]*class="[^"]*groupHeader[^"]*"[^>]*>([^<]+)', pageHtml)> ([^<]+).*', '\1')> ]*class="[^"]*item[^"]*"[^>]*>.*?', pageHtml)> ([^<]+)', block)> ([^<]+).*', '\1')> ]*class="[^"]*description[^"]*"[^>]*>([^<]+)', block)> ([^<]+).*', '\1'))> ([^<]+)', pageHtml)> ([^<]+).*', '\1')> ]*>([^<]+)', pageHtml)> ]*>([^<]+).*', '\1')> ]*property=["'']og:(site_name|title)["''][^>]*content=["'']([^"'']+)["'']', pageHtml)> ]*content=["'']([^"'']+)["''][^>]*property=["'']og:(site_name|title)["'']', pageHtml)> ]*>.*', '')> ]*class="[^"]*(?:restaurant|location|brand)[^"]*"[^>]*>([^<]+)<', pageHtml)> ([^<]+)<.*', '\1')> ]*>([^<]+)', pageHtml)> ]*>([^<]+).*', '\1')> ]*class="[^"]*address[^"]*"[^>]*>([^<]+)]+>', pageHtml)> ([^<]+) )\s*\(?(\d{3})\)?[-.\s]?(\d{3})[-.\s]?(\d{4})', pageHtml)> ]+>", "", "all")> ooStateJson2 = ""; ooStart2 = findNoCase("window.__OO_STATE__", ooExtractHtml2); if (ooStart2 > 0) { var bs2 = find("{", ooExtractHtml2, ooStart2); if (bs2 > 0) { var d2 = 0; var inS2 = false; var esc2 = false; var be2 = 0; for (var i2 = bs2; i2 <= len(ooExtractHtml2); i2++) { var c2 = mid(ooExtractHtml2, i2, 1); if (esc2) { esc2 = false; continue; } if (c2 == chr(92) && inS2) { esc2 = true; continue; } if (c2 == '"') { inS2 = !inS2; continue; } if (!inS2) { if (c2 == "{") d2 = d2 + 1; else if (c2 == "}") { d2 = d2 - 1; if (d2 == 0) { be2 = i2; break; } } } } if (be2 > 0) ooStateJson2 = mid(ooExtractHtml2, bs2, be2 - bs2 + 1); } } if (len(ooStateJson2)) { ooStateJson2 = replace(ooStateJson2, "&", "&", "all"); ooStateJson2 = replace(ooStateJson2, "<", "<", "all"); ooStateJson2 = replace(ooStateJson2, ">", ">", "all"); ooStateJson2 = replace(ooStateJson2, """, '"', "all"); } ]*>([^<]+)', otherHtml)> ]*>([^<]+).*', '\1')> ]+>", "", "all")> otherOoJson = ""; var otherOoStart = findNoCase("window.__OO_STATE__", otherCleanHtml); if (otherOoStart > 0) { var obs = find("{", otherCleanHtml, otherOoStart); if (obs > 0) { var od = 0; var ois = false; var oesc = false; var obe = 0; for (var oi = obs; oi <= len(otherCleanHtml); oi++) { var oc = mid(otherCleanHtml, oi, 1); if (oesc) { oesc = false; continue; } if (oc == chr(92) && ois) { oesc = true; continue; } if (oc == '"') { ois = !ois; continue; } if (!ois) { if (oc == "{") od = od + 1; else if (oc == "}") { od = od - 1; if (od == 0) { obe = oi; break; } } } } if (obe > 0) otherOoJson = mid(otherCleanHtml, obs, obe - obs + 1); } } if (len(otherOoJson)) { otherOoJson = replace(otherOoJson, "&", "&", "all"); otherOoJson = replace(otherOoJson, "<", "<", "all"); otherOoJson = replace(otherOoJson, ">", ">", "all"); otherOoJson = replace(otherOoJson, """, '"', "all"); } #serializeJSON(response)# ]+src=["'']([^"'']+)["''][^>]*>', menuPage.html)> ]+>", "", "all")> ooStateJson = ""; ooStartPos = findNoCase("window.__OO_STATE__", ooExtractHtml); if (ooStartPos > 0) { braceStart = find("{", ooExtractHtml, ooStartPos); if (braceStart > 0) { var depth = 0; var inStr = false; var esc = false; var braceEnd = 0; var totalLen = len(ooExtractHtml); for (var ci = braceStart; ci <= totalLen; ci++) { var ch = mid(ooExtractHtml, ci, 1); if (esc) { esc = false; continue; } if (ch == chr(92) && inStr) { esc = true; continue; } if (ch == '"') { inStr = !inStr; continue; } if (!inStr) { if (ch == "{") depth = depth + 1; else if (ch == "}") { depth = depth - 1; if (depth == 0) { braceEnd = ci; break; } } } } if (braceEnd > 0) { ooStateJson = mid(ooExtractHtml, braceStart, braceEnd - braceStart + 1); } } } // Decode HTML entities from View Source (Chrome encodes & as & etc.) if (len(ooStateJson)) { ooStateJson = replace(ooStateJson, "&", "&", "all"); ooStateJson = replace(ooStateJson, "<", "<", "all"); ooStateJson = replace(ooStateJson, ">", ">", "all"); ooStateJson = replace(ooStateJson, """, '"', "all"); } ]*>([^<]+)', pageHtml)> ]*>([^<]+).*', '\1')> #serializeJSON(response)# ]*id=["'']__NEXT_DATA__["''][^>]*>([^<]+)', menuPage.html)> ]*>([^<]+)', '\1')> ]*type=["'']application/ld\+json["''][^>]*>([^<]+)', menuPage.html)> ]*>([^<]+)', '\1')> ]*>.*?", "", "all")> ]*>.*?", "", "all")> ", "", "all")> ]*>([^<]*)", combinedHtml)> ]*>([^<]*)", "\1")> ]*>([^<]*)", combinedHtml)> ]*>([^<]*)", "\1")> ]*>([^<]*)", combinedHtml)> ]*>([^<]*)", combinedHtml)> ]*>([^<]*)", combinedHtml)> ]*>", combinedHtml, scanPos)> ]*>", combinedHtml, scanPos)> ", combinedHtml, nextH2)> ]+>", "", "all")> ", combinedHtml, nextH3)> ]+>", "", "all")> #serializeJSON(response)# #serializeJSON(response)#