皆さん、こんにちは
Discourse API を使用してトピック / すべての投稿を取得し、次に各投稿とそのコンテンツを取得しています。
私のフォーラムは forums.xxx.com でホストされています。
API を使用して投稿を取得し、www.xxx.com ドメインに配置し、両方の間で双方向にリンクしています。
これらすべては機能しますが、取得するコンテンツは相対 URL を使用しています。そのため、ユーザーへのリンク(フォーラム ドメインの場合)は forums.xxx.com/u/the-user となります。
その投稿を www.xxx ドメインに引き出すと、www.xxx.com/u/the-user にリンクされます。これは明らかに存在しません。
投稿に含まれる絵文字や画像にも同じ問題が発生します。リンクが壊れています。
(content: 'data[\'cooked\']' を使用して)取得するリンクを元のドメインにリンクさせる方法はありますか?
チャットGPTにも同じ質問をしたところ、すぐに動作する回答が得られました。
クックされたデータ内のURLを置き換えるヘルパーメソッドを使用しています。
def update_urls(content)
forum_domain = 'https://forums.xxx.com'
# href属性を更新
content.gsub!(/href=\"(\\/[^\"]*)\"/i) { |match| "href=\"#{forum_domain}#{$1}\"" }
# src属性を更新
content.gsub!(/src=\"(\\/[^\"]*)\"/i) { |match| "src=\"#{forum_domain}#{$1}\"" }
content
end
そこで、他の人のためにここに残しておきます。もし、よりエレガントな既製のソリューションがあれば、興味があります。
「いいね!」 2
system
(system)
クローズされました:
3
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.