Переписать старый массив на новый в Codeigniter - PullRequest
2 голосов
/ 26 декабря 2011

У меня есть запрос в моей модели

public function get_array()
    {
        $query = $this->db->get($this->table);

        if ($query->num_rows() > 0)
        {
            return $query->result_array();
        }
        else
        {
            return FALSE;
        }  
    } 

Контроллер:

public function index()
{
    if ( ! $this->session->userdata('logged_in'))
    {
        redirect('login');
    }
    else
    {
        $data = array();

        $data['title'] = 'Text_about';

        $data['new_messages_number'] = count($this->about_text_model->new_messages());

        $data['new_messages'] = $this->about_text_model->new_messages();

        $data['about_text_list'] = $this->about_text_model->get_array();

        $ret = array();

        foreach ($data['about_text_list'] as $items)
        {
            $items['about_text_list']['text'] = word_limiter(strip_tags($items['text']), 100);
            $ret[] = $items;
        }

        $data['new_data'] = $ret;

        $name = 'about_text_show';

        $this->display_lib->admin_page($name, $data);               
    }              
}

просмотр:

<? foreach ($new_data as $line) : ?>
                        <tr>
                            <td class="center"><?=$line['language']?></td>
                            <td><?=$line['header']?></td>
                            <td><?=$line['text'];?></td>

                            <td class="center"><?=$line['num']?></td>
                            <td class="center">
                                <a href="<?=base_url().$this->lang->lang();?>/about_text_edit/<?=$line['id']?>"><img src="<?=base_url();?>images/icons/icon_edit.png" alt="" title=""/></a>
                                <a href="?show=about_text&action=delete&id=<?=$line['id']?>"><img src="<?=base_url();?>images/icons/icon_missing.png" alt="" title="" /></a>
                            </td>
                        </tr>
                        <? endforeach; ?>

Проблема в том, что я получаю данные из SQL и записываю их в массив со всеми тегами html. Мне нужен четкий текст из HTML и сделать его короче. Создавая массив, я делаю это с помощью foreach и переписываю каждое поле в новый массив (одно поле «текст» я делаю strip_tags) после отображения нового массива в моем представлении.

Я удивлен, что мой новый массив отображает данные без ошибок и без изменений! так где эта строка:

$items['about_text_list']['text'] = word_limiter(strip_tags($items['text']), 100);

1 Ответ

1 голос
/ 26 декабря 2011

Предполагая, что ваш код должен быть

$line['about_text_list']['text']

не просто

<td><?=$line['text'];?></td>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...