مشکل در نمایش rss

ahmad_m1234

Active Member
درود بر دوستان واقعا هر وقت مشکلاتم در این انجمن مطرح می کنم همون روز حل می شود

من برای وب سایت RSS طراحی کردم اما هنگام نمایش خطا می دهد
خطای که از من می دهد nbsp می باشد

خطا :
کد:
Reference to undefined entity 'nbsp'.
 Line: 33 Character: 229
<description><p style="text-align: right;"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: small;">قيمت هر پانل 80 * 80 خام 80000 و هر پانل 80 * 80 تمام شده 100000 مي باشد. پانل ها از جنس فايبر گلاس بوده&nbsp; و جهت پارتيشن بندي استفاده مي شود</span></p></description>
که در مرورگر ie به من نمایش داد

کدی که نوشتم :
کد:
<?php 
 $sql = "SELECT * FROM `product` order by id desc"; 
 $result = mysql_query($sql) or die(mysql_error()); 
 while($row = mysql_fetch_assoc($result)) { 
 ?>
<item>
<title><?php echo $row['title']; ?></title>
<link>http://<?php echo $_SERVER['HTTP_HOST']; ?>/product.php?id=<?php echo $row['id']; ?></link>
<description><?php echo $row['disc']; ?></description>
<guid>http://<?php echo $_SERVER['HTTP_HOST']; ?>/product.php?id=<?php echo $row['id']; ?></guid>
<author>وب سایت دکوراسیون</author>
</item> 
 
<?php } ?>

وب سایتی که آموزش ساخت RSS داده بود http://www.webdesign.org می باشد

وب سایت های مختلف دیدم که با ویرایگشر متن مطلب ارسال کرده اند اما چنین مشکلی ندارند . هر وقت خودم این کارو انجام می دم این مشکل پیش میاد
آیا راهکاری است ؟
 
درود بر دوستان واقعا هر وقت مشکلاتم در این انجمن مطرح می کنم همون روز حل می شود

من برای وب سایت RSS طراحی کردم اما هنگام نمایش خطا می دهد
خطای که از من می دهد nbsp می باشد

خطا :
کد:
Reference to undefined entity 'nbsp'.
 Line: 33 Character: 229
<description><p style="text-align: right;"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: small;">قيمت هر پانل 80 * 80 خام 80000 و هر پانل 80 * 80 تمام شده 100000 مي باشد. پانل ها از جنس فايبر گلاس بوده&nbsp; و جهت پارتيشن بندي استفاده مي شود</span></p></description>
که در مرورگر ie به من نمایش داد

کدی که نوشتم :
کد:
<?php 
 $sql = "SELECT * FROM `product` order by id desc"; 
 $result = mysql_query($sql) or die(mysql_error()); 
 while($row = mysql_fetch_assoc($result)) { 
 ?>
<item>
<title><?php echo $row['title']; ?></title>
<link>http://<?php echo $_SERVER['HTTP_HOST']; ?>/product.php?id=<?php echo $row['id']; ?></link>
<description><?php echo $row['disc']; ?></description>
<guid>http://<?php echo $_SERVER['HTTP_HOST']; ?>/product.php?id=<?php echo $row['id']; ?></guid>
<author>وب سایت دکوراسیون</author>
</item> 
 
<?php } ?>

وب سایتی که آموزش ساخت RSS داده بود http://www.webdesign.org می باشد

وب سایت های مختلف دیدم که با ویرایگشر متن مطلب ارسال کرده اند اما چنین مشکلی ندارند . هر وقت خودم این کارو انجام می دم این مشکل پیش میاد
آیا راهکاری است ؟

دوست عزیز شما از قالب HTML دارید استفاده میکنید.
برای اینکه RSS ایجاد کنید نیاز دارید header های XML و ... رو هم داشته باشید.
یک جستجوی دیگه کنید اگه باز به مشکل بر خوردید کد کامل رو اینجا بگذارید.

موفق باشید.
 

phpweb

Active Member
دوست عزیز شما از قالب HTML دارید استفاده میکنید.
برای اینکه RSS ایجاد کنید نیاز دارید header های XML و ... رو هم داشته باشید.
یک جستجوی دیگه کنید اگه باز به مشکل بر خوردید کد کامل رو اینجا بگذارید.

موفق باشید.
مشکل بخاطر استفاده نکردن از سی دیتا هست.
باید متغیرها رو توی سی دیتا قرار بدن تا مشکل حل بشه.

متغیرها باید به شکل زیر نمایش داده بشن.

PHP:
echo "<title><![CDATA[". $title ."]]></title>";
 

ahmad_m1234

Active Member
دوست عزیز شما از قالب HTML دارید استفاده میکنید.
برای اینکه RSS ایجاد کنید نیاز دارید header های XML و ... رو هم داشته باشید.
یک جستجوی دیگه کنید اگه باز به مشکل بر خوردید کد کامل رو اینجا بگذارید.

موفق باشید.

من هم همینکارو انجام داده بودم
کد:
header('Content-Type: application/xml');
echo '<?xml version="1.0" encoding="utf-8"?>'."\n";
echo '<rss version="2.0">'."\n";
 

ahmad_m1234

Active Member
مشکل بخاطر استفاده نکردن از سی دیتا هست.
باید متغیرها رو توی سی دیتا قرار بدن تا مشکل حل بشه.

متغیرها باید به شکل زیر نمایش داده بشن.

PHP:
echo "<title><![cdata[". $title ."]]></title>";

می خواستم بپرستم برای چی از<![cdata]]> استفاده می کنیم ؟ کجاها ازش استفاده می شود ؟
 

Domanjiri

Well-Known Member
درود بر شما

CDATA به parser اعلام می کنه که چیزی که اینجا هست، یک مجموعه کاراکتر هست و نباید داخلش رو واکاوی کنی برای پیدا کردن نشانه هایی مثل < و... به زبون ساده بهش میگه که، عزیز من(!) اینی که اینجا هست رو همینطوری بزار باشه و کلن بیخیال تفسیرش شو(!!:green:)

موفق باشین
 

phpweb

Active Member
می خواستم بپرستم برای چی از<![cdata]]> استفاده می کنیم ؟ کجاها ازش استفاده می شود ؟
وی ایکس ام ال نمی تونید از هرکاراکتری استفاده کنید. به همین دلیل باید کاراکترهایی که مشکل دارن رو توی cdata قرار بدید.

به کد زیر دقت کنید، بجای متغیر title متغیرهای خودت رو قرار بده.

PHP:
 		 			 echo "<title><![cdata[". $title ."]]></title>";
 

جدیدترین ارسال ها

بالا