علامات `url` في BBCode تتعطل إذا انتهى النص المغلف بعنوان URL مع مكون بعد المضيف

الأولوية/الخطورة:

متوسط

المنصة

نظام التشغيل المتصفح
Windows 11 Google Chrome 112.0.5615.138
Ubuntu 22.04 Google Chrome 112.0.5615.49
macOS Ventura Google Chrome 112.0.5615.137

(جميعها سطح مكتب)

الوصف:

في ظل الظروف التالية، لا يتم عرض علامات url الخاصة بـ BBCode بشكل صحيح في المشاركات:

  • ينتهي النص المغلف بالعلامات بعنوان URL
  • يحتوي عنوان URL هذا على مكون بعد مكون المضيف (أي، مسار، استعلام، و/أو جزء)

خطوات التكرار:

قم بإنشاء مشاركة تحتوي على الترميز التالي:

[url]http://example.com/[/url]

:bug: لا يتم عرض الترميز كما هو متوقع:

image

السلوك المتوقع:

يتم عرض الترميز على النحو التالي:

image

سياق إضافي

أنا قادر على تكرار الخطأ على try.discourse.org في “وضع آمن”.


بعض الأمثلة الإضافية للتعامل غير الصحيح مع النص الذي ينتهي بعنوان URL مع مسار:

الترميز:

[url]http://example.com/foo[/url]
[url]http://example.com/foo/[/url]
[url=http://example.com/]http://example.com/[/url]
[url=http://example.com/]foo http://example.com/[/url]

معروض:


تم الإبلاغ عنه في الأصل على Old url markup not migrated to new forum - Website and Forum - Arduino Forum

لدينا الكثير من المشاركات التي كُتبت في وقت كانت فيه هذه العلامات تُعرض بشكل صحيح (قبل الترحيل من إطار عمل SMF إلى Discourse).

3 إعجابات

لقد تم تأكيد هذا كخلل أساسي نأمل في إصلاحه خلال الأسابيع القليلة القادمة.

على وجه التحديد:

[url]http://example.com[/url] سيعمل، ولكن: [url]http://example.com/example[/url] لا يعمل إلا إذا أضفت مسافة لاحقة [url]http://example.com/example [/url].

لقد بدأت في تتبع الأمور ويبدو أن شيئًا ما يعطل المحلل الخاص بنا هنا، ربما قاعدة هروب. سنقوم بحل هذه المشكلة، شكرًا لك على طرحها.

5 إعجابات

لست على دراية تامة بهذا الرمز، لكنني ألقيت نظرة سريعة. أعتقد أن الأمر يتعلق بنظام الربط التلقائي. بحلول الوقت الذي يبحث فيه المحلل عن وسم إغلاق الرابط [/url]، يكون قد تم دمجه بالفعل في رابط تلقائي.

على سبيل المثال، لاحظ أن الرابط التلقائي هنا هو إلى http://example.com/foo%5B/url%5D

http://example.com/foo

لهذا السبب يساعد إضافة المسافة - فهي تمنع الرابط التلقائي من تضمين [/url]

:thinking:

6 إعجابات

لقد قمت بإصلاح هذا وفقًا لـ:

لا تتردد في المراجعة / الدمج… إنه إصلاح معقد للغاية يا @per1234 لأننا ندعم أشياء مجنونة مثل

[url][b]www.site.com[/b][/url]

5 إعجابات

تم إصلاح كل شيء الآن :confetti_ball:

[url]http://example.com/foo[/url]
[url]http://example.com/foo/[/url]
[url=http://example.com/]http://example.com/[/url]
[url=http://example.com/]foo http://example.com/[/url]

http://example.com/foo
http://example.com/foo/
http://example.com/
foo http://example.com/

@per1234 يجب أن تكون قد تم النشر بالفعل مع الإصلاح، أخبرنا إذا كان كل شيء يبدو جيدًا!

شكرًا للإبلاغ!

إعجاب واحد (1)

شكرا جزيلا على الحل السريع والمُستحق sam!

3 إعجابات

تم إغلاق هذا الموضوع تلقائيًا بعد 5 أيام. لم يعد يُسمح بالردود الجديدة.