如何替换mysql数据库内容数组中的文本

时间:2011-11-08 04:54:51

标签: php mysql json

我试图摆脱我的数据库内容中不必要的文本。我的代码看起来像这样:

if(mysql_num_rows($result)) 
  $items[] = array();

while($row = mysql_fetch_assoc($result)) {
   $items[] = array('id' => $row['id'], 'cat' => $row['cat'], 'type' => $row['type'], 'name' => $row['name'], 'sub_title' => $row['sub_title'], 'display_date' => $row['display_date'], 'slug' => $row['slug'], 'ticket_url' => $row['ticket_url'], 'status' => $row['status'], 'content' => $row['content'], 'display_until' => $row['display_until'], 'photo' => $row['photo'], 'thumb' => $row['thumb']);

    $removals = array('\n','\r','\t','<\/div>\r\n');
    $spaces = "";
    $parsedText = str_replace($removals, $spaces, $items);
}
echo json_encode(array('events'=>$items));

然后内容显示如下:

  

{“events”:[[],{“id”:“66”,“cat”:“9”,“type”:“2”,“name”:“Oileán - 布拉斯基群岛的庆祝活动“,”sub_title“:”国家民间剧院“,”display_date“:”星期四 - 5月6日星期四晚上8点30分“,”slug“:”这个作品在过去的时间里庆祝Blasket群岛的生活,探索生活方式岛上的岛民和他们的生存精神.Oileán捕捉到了这个岛屿社区的精髓,他们的传统和习俗,他们丰富的歌曲和故事,他们对生活的热爱以及他们彼此之间的强烈亲密关系。“,”ticket_url“:”“ “状态”: “1”, “内容”:”   \ r \ n \ t由爱尔兰国家民俗剧院的成员&lt; / strong&gt;制作,这部作品庆祝和探索布拉斯基特岛的生活,同时也挑战我们自己的身份概念作为当代岛民。 &LT; / DIV&GT; \ r \ n   \ r \ n \ t&lt; / div&gt; \ r \ n   \ r \ n \ tPr凌乱于2003年,Oileán&lt; / strong&gt;&lt; / em&gt;标记为第50个&lt; / sup&gt; Blasket Islanders离开大陆的周年纪念日。位于西凯里海岸附近的Great Blasket岛对于来自爱尔兰和国外的许多人来说仍然保留着近乎神秘的意义。岛上居民的生活方式和他们的生存精神在这部作品中体现出来,捕捉了这个岛屿社区的精髓,他们的传统和风俗,他们丰富的歌曲和故事,他们对生活的热爱以及他们彼此之间的强烈亲密关系。 &LT; / DIV&GT; \ r \ n   \ r \ n \ t&lt; / div&gt; \ r \ n   \ r \ n \tOileán&LT; I&GT /;&LT; / B个以舞蹈,哑剧,音乐和歌曲为媒介,以独特的Siamsa风格呈现。&lt; / div&gt; \ r \ n   \ r \ n \ t&lt; / div&gt; \ r \ n   \ r \ n \吨   \ r \ n \ t \ t&lt; / div&gt; \ r \ n \ t   \ r \ n \ t \ t \ t \ t请注意,由于国家民俗剧院的表演声望很受欢迎,有些作品可能会提前售罄而且门票可能无法在线获取。但是,我们经常会收到退货,并且可能会在演出当天附近提供门票&lt; / strong&gt;。请直接致电+353(0)66 7123055与我们联系。&lt; / em&gt;&lt; / div&gt; \ r \ n \ t   \ r \ n \ t \ t&lt; / div&gt; \ r \ n \ t   \ r \ n \ t \ t&lt; / div&gt; \ r \ n&lt; / div&gt; \ r \ n“,”display_until“:”20100504“,”photo“:”1269869378-oilean_side.jpg“,”thumb“ : “1269869378-oilean_thumb.jpg”},

以上显示是数据库中的第一项。 我试着在上面的内容中替换所有\ r,\ n等等?我怎么能这样做?我已经准备好了吗?

1 个答案:

答案 0 :(得分:0)

2件事

if(mysql_num_rows($result)) 
  $items = array(); // not $items[], that would set the first item as an array

while($row = mysql_fetch_assoc($result)) {

   $removals = array("\n","\r","\t","<\/div>\r\n");
   $spaces = "";

   $items[] = array(
        'id' => $row['id'],
        'cat' => $row['cat'],
        'type' => $row['type'],
        'name' => $row['name'],
        'sub_title' => $row['sub_title'],
        'display_date' => $row['display_date'],
        'slug' => $row['slug'],
        'ticket_url' => $row['ticket_url'],
        'status' => $row['status'],

        // replace the content here
        // youll want to use preg_replace though otherwise youll end up with multiple </div>'s
        'content' => str_replace( $removals, $spaces, $row['content'] ),

        'display_until' => $row['display_until'],
        'photo' => $row['photo'],
        'thumb' => $row['thumb']
    );


}
echo json_encode(array('events'=>$items));