From 45e0ea2dcd8a906d415f1ec9e5c36d944962f4e8 Mon Sep 17 00:00:00 2001 From: Rodrigo Nascimento Date: Wed, 10 Aug 2016 11:41:44 -0300 Subject: [PATCH] Closes #3771; Fix some oembed issues --- .../rocketchat-oembed/server/server.coffee | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/rocketchat-oembed/server/server.coffee b/packages/rocketchat-oembed/server/server.coffee index 3254d4f260d..93af3ee39d2 100644 --- a/packages/rocketchat-oembed/server/server.coffee +++ b/packages/rocketchat-oembed/server/server.coffee @@ -106,20 +106,20 @@ OEmbed.getUrlMeta = (url, withFragment) -> if content?.body? metas = {} - content.body.replace /((.|\n)+?)<\/title>/gmi, (meta, title) -> - metas.pageTitle = he.unescape title + content.body.replace /<title[^>]*>([^<]*)<\/title>/gmi, (meta, title) -> + metas.pageTitle ?= he.unescape title - content.body.replace /<meta[^>]*(?:name|property)=[']([^']*)['][^>]*content=[']([^']*)['][^>]*>/gmi, (meta, name, value) -> - metas[changeCase.camelCase(name)] = he.unescape value + content.body.replace /<meta[^>]*(?:name|property)=[']([^']*)['][^>]*\scontent=[']([^']*)['][^>]*>/gmi, (meta, name, value) -> + metas[changeCase.camelCase(name)] ?= he.unescape value - content.body.replace /<meta[^>]*(?:name|property)=["]([^"]*)["][^>]*content=["]([^"]*)["][^>]*>/gmi, (meta, name, value) -> - metas[changeCase.camelCase(name)] = he.unescape value + content.body.replace /<meta[^>]*(?:name|property)=["]([^"]*)["][^>]*\scontent=["]([^"]*)["][^>]*>/gmi, (meta, name, value) -> + metas[changeCase.camelCase(name)] ?= he.unescape value - content.body.replace /<meta[^>]*content=[']([^']*)['][^>]*(?:name|property)=[']([^']*)['][^>]*>/gmi, (meta, value, name) -> - metas[changeCase.camelCase(name)] = he.unescape value + content.body.replace /<meta[^>]*\scontent=[']([^']*)['][^>]*(?:name|property)=[']([^']*)['][^>]*>/gmi, (meta, value, name) -> + metas[changeCase.camelCase(name)] ?= he.unescape value - content.body.replace /<meta[^>]*content=["]([^"]*)["][^>]*(?:name|property)=["]([^"]*)["][^>]*>/gmi, (meta, value, name) -> - metas[changeCase.camelCase(name)] = he.unescape value + content.body.replace /<meta[^>]*\scontent=["]([^"]*)["][^>]*(?:name|property)=["]([^"]*)["][^>]*>/gmi, (meta, value, name) -> + metas[changeCase.camelCase(name)] ?= he.unescape value if metas.fragment is '!' and not withFragment?