استرداد عناوين URL النسبية للمنشورات عبر واجهة برمجة التطبيقات

مرحباً بالجميع

أنا أستخدم واجهة برمجة تطبيقات Discourse لاسترداد موضوع / جميع منشوراته ثم كل منشور ومحتواه.

منتدياتي مستضافة على forums.xxx.com
أستخدم واجهة برمجة التطبيقات لاسترداد المنشورات ووضعها على نطاق www.xxx.com الخاص بي والربط ذهابًا وإيابًا بين الاثنين.

كل هذا يعمل باستثناء أن المحتوى الذي أسحبه يستخدم عناوين URL نسبية - لذا سيكون الرابط لمستخدم (عندما يكون على نطاق المنتديات) forums.xxx.com/u/the-user

عندما أسحب هذا المنشور إلى نطاق www.xxx.com الخاص بي، فإنه يرتبط بـ www.xxx.com/u/the-user - والذي من الواضح أنه غير موجود.
نفس المشكلة تمتد إلى أي رموز تعبيرية أو صور مدرجة في المنشور - الروابط معطلة.

هل هناك أي طريقة لجعل الروابط القادمة (أستخدم المحتوى: data['cooked']) ترتبط بالنطاق الأصلي؟

لقد سألت ChatGPT نفس السؤال وحصلت على إجابة عاملة على الفور

باستخدام طريقة مساعدة لاستبدال عناوين URL داخل البيانات المطبوخة

def update_urls(content)
    forum_domain = 'https://forums.xxx.com'

    # Update href attributes
    content.gsub!(/href=\"(\\/[^\"]*)\"/i) { |match| "href=\"#{forum_domain}#{$1}\"" }

    # Update src attributes
    content.gsub!(/src=\"(\\/[^\"]*)\"/i) { |match| "src=\"#{forum_domain}#{$1}\"" }

    content
  end

لذا سأترك هذا هنا لأي شخص آخر - إذا كان لدى أي شخص حل أكثر أناقة جاهزًا للاهتمام به

إعجابَين (2)

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.