سؤال

أنا أقوم ببناء خلاصة RSS المخصصة الخاصة بي في PHP. أريد أن تحتوي العلامة على فواصل سطر لجعل النص أكثر قابلية للقراءة. ومع ذلك ، لا يمكنني معرفة كيفية القيام بذلك بشكل صحيح. بغض النظر عن ما أجربه بعض قارئ RSS يفسرها بشكل غير صحيح. هل هناك أفضل طريقة قياسية لإضافة خطوط خط وتغذية RSS 2.0؟

لقد جربت " n" ، الذي يعمل في NetNewswire على جهاز Mac ، لكن يتم تجاهله من قِبل قارئ RSS المدمج في Safari.

لقد حاولتu003Cbr /> ، الذي يعمل في قارئ Safari RSS ، لكنه يؤدي إلى كل النص بعد
يجري قطعها في Netnewswire.

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

المحلول

بشكل افتراضي ، سيحاول القراء تحليل بياناتك إلا إذا أخبرتهم بعدم ذلك. لجعلهم يتخطونه ويقدمونه كما تنوي ، عليك ذلك إعلان أ CDATA القسم في RSS.

إذا كانت البيانات الأولية تحتوي بالفعل على خطوط جديدة ، فيجب أن تكون قادرًا أيضًا على استخدام فقط nl2br() وظيفة لإضافة في <br /> مثل ذلك:

echo '<description><![CDATA[ ' .nl2br($desc_data). ' ]]></description>';

إذا لم تعلن CDATA القسم ، سيرى قراء RSS أي علامات HTML التي قد يكون لديك كجزء من RSS الفعلي وتتوقع عقدة فعلية أو عنصر من خلاصة RSS.

نصائح أخرى

يمكنك استخدام استراحة خط CDATA و HTML:u003Cbr/>
مثال:

u003C![CDATA[Hi Rss feedu003Cbr/>
هنا خط جديد]]>

ال مواصفات RSS ينص على أنه نعم ، يمكنك استخدام HTML في وصف ، ولكن بالطبع يجب أن يتم الهروب بشكل صحيح لأنه مضمن في XML. لذلك باستخدام <br> هي الفكرة الصحيحة ، لكنك تحتاج إلى تشفيرها باستخدام أي من هذه الطرق ، اجعل الاختيار الخاص بك:

<description>first line&lt;br&gt;second line</description>

<description><![CDATA[first line<br>second line]]></description>
file_put_contents("rss.txt","<br>") roach idea
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top