سؤال

لسبب ما هرم HTML لا يعمل في تطبيق القضبان الخاص بي. حتى لو أكتب شيئا مثل

<%=h '©äö' %> 

لا يحول أي من الشخصيات إلى كيانات HTML.

ليس لدي أدنى فكرة ما يمكن أن يكون. عمل دائما على ما يرام والآن فقط فجأة لا.

أيه أفكار؟

هل كانت مفيدة؟

المحلول

Google Sitemap. يتطلب عناوين URL هرب بالكامل, ، لذلك في هذه الحالة تحتاج إلى الهروب من جميع الشخصيات الخاصة والدولية.

هذه htmlentIations. مكتبة يفعل ذلك من أجلك.

لقد كتبت حتى غلاف صغير في application_helper.rb:

def html_entity_escape(s)
  require 'htmlentities'
  @html_coder ||= HTMLEntities.new
  @html_coder.encode(s)
end

نصائح أخرى

ö و ä هي أحرف صالحة في HTML. ليست هناك حاجة للهروب منها، حتى لو كانت هناك كيانات HTML لهم. هذه الكيانات هي الراحة، وليس الضرورة - طالما أن الترميز المعلن (رؤوس HTTP) ومطابقات ترميز الأحرف الفعلية، لا توجد مشكلة إذا تحدث حرفيا.

الشخصيات الوحيدة التي يجب أن تهرب دائما <, >, & و ", ، مثل في XML.

أود أن أقول أن H يستبدل فقط أحرف HTML الخاصة <،>، و ". يرجى إلقاء نظرة على وثائق القضبان ERB :: UTIL.HTML_SCAPE. وهو وراء وظيفة H.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top