php поиск и замена функции не работает

Я работаю над одним php-проектом, который уже разработан другим разработчиком. Этот проект разработан в Codeigniter. Я видел текстовое шоу в этом формате » {title}»

Текст показывает, как это «это какой-то текст». Я хочу удалить пробел из этого текста.
Поэтому я использую функцию PHP search и replace. Но эта функция не работает.

Эта функция не может заменить «пробел » на» -«. это показать мне то же самое, что «это какой-то текст»

     {latest_videos}
           // in {title} = "This is some text"
        <?php   echo $tit = str_replace(' ','_','{title}'); ?>

            // I want $tit = "This-is-some-text"
            // But the str_replace give me "This is some text"

          <a href="{base_url}watch/<?php echo $tit ;?>/{id}">

        {/latest_videos}

1 ответ

  1. Вы могли бы сделать это:

    https://www.codeigniter.com/user_guide/helpers/url_helper.html

    ^^ это содержит функцию, которая будет обрабатывать str_replace для вас

    Добавьте петлю в контроллер / модель, чтобы построить структуру по мере необходимости

    class controller extends CI_Controller
    {
        public function index()
        {
            $this->load->helper('url');
            $videos = ['latest_videos' => [
                'title' => 'Name of a video',
                'id' => 10,
            ]];
    
            foreach ($videos['latest_videos'] as &$video) {
                $video['url_safe_title'] = url_title($video['title']);
            }
    
            $this->parser->parse('view_name', $videos);
        }
    }
    

    Тогда, на ваш взгляд, вы делаете это так

    {latest_videos}
    <a href="{base_url}watch/{url_safe_title}/{id}">{title}</a>
    {/latest_videos}
    

    Это непроверено, поэтому может потребоваться настройка, но это должно дать вам хорошую идею 🙂