Mercurial > prosody-modules
view mod_ogp/test.lua @ 5820:742142f9771e
mod_groups_internal: Fix traceback when room doesn't exist
I'm not sure if it should even be included if it doesn't exist, but I'm not
currently sure how this situation occurs, so I'm implementing the lightest
possible fix for now.
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Thu, 11 Jan 2024 15:53:18 +0000 |
parents | 38da10e4b593 |
children |
line wrap: on
line source
local html = [[ <meta property="og:title" content="Example 1 A"> <meta property=og:title content="Example 2 B"> <meta property="og:title" content="Example 3 C" > <meta property="og:title" content="Example 4 D" /> <meta property="og:title" content="Example 5 E"/> <meta property=og:title content=Example 6 F/> <meta property="og:title" content= "Example 7 G" /> <meta property="og:title" itemprop="image primaryImageOfPage" content="Example 8 H" /> <meta property='og:title' content='Example 9 I' /> <meta content="Example 10 J" property="og:title" > <meta content="Example 11 K" property="og:title"> <meta content="Example 12 L" property="og:title"/> <meta content="Example 13 M" property="og:title" /> <meta content="Example 14 N" property=og:title > <meta content=Example 15 O property=og:title > <meta content= "Example 16 P" property="og:title" /> <meta content="Example 17 Q" itemprop="image primaryImageOfPage" property="og:title" /> <meta content= 'Example 18 R' property='og:title' /> ]] local meta_pattern = [[<meta (.-)/?>]] for match in html:gmatch(meta_pattern) do local property = match:match([[property=%s*["']?(og:.-)["']?%s]]) if not property then property = match:match([[property=["']?(og:.-)["']$]]) end local content = match:match([[content=%s*["'](.-)["']%s]]) if not content then content = match:match([[content=["']?(.-)["']$]]) end if not content then content = match:match([[content=(.-) property]]) end if not content then content = match:match([[content=(.-)$]]) end print(property, '\t', content, '\t', match .. "|") end