Search code examples
phphtml

I want to change the url in the base url but by removing the %20 character in the url


I want to change the URL from
http://localhost/webcodingmedia/service-view/detail/10/Jasa%20SEO
to
http://localhost/webcodingmedia/service-view/detail/10/Jasa-SEO

but I haven't found a way. I tried using URL decoding but it doesn't change. Can anyone help, thanks. can you give an example

View:

  <a href="<?= site_url('service-view/detail/' . $value->id_service . '/'. $value->layanan) ?>"
                                    class="read-more">
                                    Read More <i class="bi bi-arrow-right"></i>
                                </a>

Controller:

public function detail($id, $layanan) {

        // $formatted_layanan = format_service_url($layanan);

        // $layanan = str_replace('%20', '-', $layanan);
        // Get data from the model
        $data['title'] = 'Service Detail'; // Title for this page
        $data['row'] = $this->setting_m->get()->row(); // General settings
        $data['social'] = $this->social_media_m->get(); // Social media links
        $data['faq'] = $this->faq_m->get(); // FAQ data
        $data['service'] = $this->service_m->get(); // All services
    
        // Get service data based on ID and service name (layanan)
        $data['service2'] = $this->service_m->get_service($id, $layanan); // Get service detail
    
        // If no service data is found, redirect to the 404 page
        if (empty($data['service2'])) {
            redirect('eror_404');
            return; // Exit the function to stop further code execution
        }
    
        // Load the views to display the detail page
        $this->load->view('home/template/header', $data);
        $this->load->view('home/template/navbar');
        $this->load->view('home/pelayanan/detail-layanan', $data);
        $this->load->view('home/template/footer', $data);
        $this->load->view('home/template/library');
    }
    

Model:

public function get_service($id, $layanan) {
    $layanan = urldecode($layanan);  // Decode URL-encoded string

    // Replace spaces with hyphens
    // $layanan = str_replace(' ', '-', $layanan);  // Replace space with '-'
    // Menyaring data berdasarkan ID dan layanan
    $this->db->where('id_service', $id);
    $this->db->where('layanan', $layanan);  // Decoding nama layanan jika perlu
    $query = $this->db->get('tb_service');  // tb_service adalah nama tabel

    // Jika ada data yang ditemukan, kembalikan sebagai objek
    if ($query->num_rows() > 0) {
        return $query->row();  // Mengambil hanya satu baris hasil
    } else {
        return null;  // Jika tidak ditemukan, kembalikan null
    }
    }

Solution

  • use str_ireplace(" " ,"-", $url);