Tambahkan http atau https ke url php

Hari ini, Kami ingin berbagi dengan Anda PHP menghapus http https www dan garis miring dari URL. Dalam posting ini kami akan menunjukkan kepada Anda menghapus www dari url php, dengar Haruskah Anda Menyimpan atau Menghapus The Trailing Slash pada URL? . Dalam posting ini, kita akan belajar tentang menghapus http, https dan garis miring dari input pengguna di php dengan sebuah contoh

PHP hapus http https www dan garis miring dari URL

Isi

Berikut Cara Menghilangkan http. //, www dan garis miring dari URL di PHP?

Karena saya akan membahas Posting ini dengan contoh kerja langsung untuk mengembangkan PHP Regex untuk Menghapus http. // dari string
, jadi beberapa file utama dan struktur Direktori untuk contoh ini adalah sebagai berikut

Baca Juga Ini 👉   gabung kiri vs gabung kanan - Perbedaan antara Gabung Kiri dan Gabung Kanan

PHP Regex untuk Menghapus http. // dari string

Dekode URL PHP

Pertama-tama, string URL Kueri yang disandikan harus kita dekode. Untuk contoh PHP Sederhana (+) diterjemahkan ke karakter spasi

<?php
    // Decode the Encoded Query URL string
    $user_query_uri = "http%3A%2F%2Fpakainfo.com%2F";
    $user_query_uri = urldecode($user_query_uri);

    // results https://www.pakainfo.com/
    echo $user_query_uri;
?>

Hapus http. // dari URL menggunakan PHP

Jika Anda ingin menghapus satu-satunya http. // dari string URL Kueri. Anda telah menggunakan metode PHP preg_replace()

<?php
    // Remove http://
    $user_query_uri = "https://www.pakainfo.com";
    $user_query_uri = preg_replace( "#^[^:/.]*[:/]+#i", "", $user_query_uri );

    /* results pakainfo.com */
    echo $user_query_uri;
?>
_

Tambahkan http. // di URL di PHP

Sebaliknya, jika kita ingin menambahkan http. // di Query URL string, kita harus menggunakan metode preg_match(). dan kemudian, kita harus memeriksa http. // atau https. // ada dalam string URL Kueri. Jika ya maka tidak perlu http. // awali jika tidak kita harus http. // tambahkan ke string URL Kueri

Laravel menyediakan beberapa bantuan untuk membantu Anda membuat URL untuk aplikasi Anda. Pembantu ini sangat membantu saat membuat tautan di template dan respons API Anda, atau saat membuat respons pengalihan ke bagian lain dari aplikasi Anda

Dasar

Menghasilkan URL

Pembantu

use Illuminate\Support\Facades\URL;

_0 dapat digunakan untuk menghasilkan URL arbitrer untuk aplikasi Anda. URL yang dihasilkan akan secara otomatis menggunakan skema (HTTP atau HTTPS) dan host dari permintaan saat ini yang ditangani oleh aplikasi

$post = App\Models\Post::find(1);

echo url("/posts/{$post->id}");

// http://example.com/posts/1

Mengakses URL Saat Ini

Jika tidak ada jalur yang diberikan ke helper

use Illuminate\Support\Facades\URL;

_0, instance

use Illuminate\Support\Facades\URL;

2 dikembalikan, memungkinkan Anda untuk mengakses informasi tentang URL saat ini

// Get the current URL without the query string...

// Get the current URL including the query string...

// Get the full URL for the previous request...

_

Masing-masing metode ini juga dapat diakses melalui fasad

use Illuminate\Support\Facades\URL;

3

use Illuminate\Support\Facades\URL;

URL Untuk Rute Bernama

Pembantu

use Illuminate\Support\Facades\URL;

_4 dapat digunakan untuk menghasilkan URL ke. Rute bernama memungkinkan Anda menghasilkan URL tanpa digabungkan ke URL sebenarnya yang ditentukan pada rute. Oleh karena itu, jika URL rute berubah, panggilan Anda ke fungsi

use Illuminate\Support\Facades\URL;

4 tidak perlu diubah. Misalnya, bayangkan aplikasi Anda berisi rute yang ditentukan seperti berikut ini

Route::get('/post/{post}', function (Post $post) {

Untuk menghasilkan URL ke rute ini, Anda dapat menggunakan pembantu

use Illuminate\Support\Facades\URL;

4 seperti itu

echo route('post.show', ['post' => 1]);

// http://example.com/post/1

Tentu saja, helper

use Illuminate\Support\Facades\URL;

_4 juga dapat digunakan untuk menghasilkan URL untuk rute dengan banyak parameter

Route::get('/post/{post}/comment/{comment}', function (Post $post, Comment $comment) {

})->name('comment.show');

echo route('comment.show', ['post' => 1, 'comment' => 3]);

// http://example.com/post/1/comment/3

Elemen larik tambahan apa pun yang tidak sesuai dengan parameter definisi rute akan ditambahkan ke string kueri URL

echo route('post.show', ['post' => 1, 'search' => 'rocket']);

// http://example.com/post/1?search=rocket

Model Fasih

Anda akan sering membuat URL menggunakan kunci rute (biasanya kunci utama) dari model Eloquent. Untuk alasan ini, Anda dapat meneruskan model Eloquent sebagai nilai parameter. Pembantu

use Illuminate\Support\Facades\URL;

_4 akan secara otomatis mengekstrak kunci rute model

echo route('post.show', ['post' => $post]);

URL yang ditandatangani

Laravel memungkinkan Anda untuk dengan mudah membuat URL "bertanda tangan" ke rute bernama. URL ini memiliki hash "tanda tangan" yang ditambahkan ke string kueri yang memungkinkan Laravel memverifikasi bahwa URL belum dimodifikasi sejak dibuat. URL yang ditandatangani sangat berguna untuk rute yang dapat diakses publik namun membutuhkan lapisan perlindungan terhadap manipulasi URL

Misalnya, Anda mungkin menggunakan URL bertanda tangan untuk menerapkan tautan "berhenti berlangganan" publik yang dikirim melalui email ke pelanggan Anda. Untuk membuat URL bertanda tangan ke rute bernama, gunakan metode

use Illuminate\Support\Facades\URL;

9 dari fasad

use Illuminate\Support\Facades\URL;

3

use Illuminate\Support\Facades\URL;

return URL::signedRoute('unsubscribe', ['user' => 1]);

Jika Anda ingin membuat URL rute bertanda tangan sementara yang kedaluwarsa setelah jangka waktu tertentu, Anda dapat menggunakan metode

Route::get('/post/{post}', function (Post $post) {

1. Ketika Laravel memvalidasi URL rute yang ditandatangani sementara, itu akan memastikan bahwa stempel waktu kedaluwarsa yang dikodekan ke dalam URL yang ditandatangani belum berlalu

use Illuminate\Support\Facades\URL;

return URL::temporarySignedRoute(

'unsubscribe', now()->addMinutes(30), ['user' => 1]

Memvalidasi Permintaan Rute yang Ditandatangani

Untuk memverifikasi bahwa permintaan masuk memiliki tanda tangan yang valid, Anda harus memanggil metode

Route::get('/post/{post}', function (Post $post) {

2 pada instance

Route::get('/post/{post}', function (Post $post) {

3 yang masuk

// Get the current URL without the query string...

// Get the current URL including the query string...

// Get the full URL for the previous request...

_0

Terkadang, Anda mungkin perlu mengizinkan frontend aplikasi untuk menambahkan data ke URL bertanda tangan, seperti saat melakukan paginasi sisi klien. Oleh karena itu, Anda dapat menentukan parameter kueri permintaan yang harus diabaikan saat memvalidasi URL bertanda tangan menggunakan metode

Route::get('/post/{post}', function (Post $post) {

4. Ingat, mengabaikan parameter memungkinkan siapa saja mengubah parameter tersebut berdasarkan permintaan

// Get the current URL without the query string...

// Get the current URL including the query string...

// Get the full URL for the previous request...

_1

Alih-alih memvalidasi URL yang ditandatangani menggunakan instance permintaan yang masuk, Anda dapat menetapkan middleware

Route::get('/post/{post}', function (Post $post) {

5 ke rute. Jika belum ada, Anda harus menetapkan kunci middleware ini di array

Route::get('/post/{post}', function (Post $post) {

6 kernel HTTP Anda

// Get the current URL without the query string...

// Get the current URL including the query string...

// Get the full URL for the previous request...

_2

Setelah Anda mendaftarkan middleware di kernel Anda, Anda dapat melampirkannya ke sebuah rute. Jika permintaan masuk tidak memiliki tanda tangan yang valid, middleware akan secara otomatis mengembalikan respons HTTP

Route::get('/post/{post}', function (Post $post) {

7

// Get the current URL without the query string...

// Get the current URL including the query string...

// Get the full URL for the previous request...

_3

Menanggapi Rute yang Ditandatangani Tidak Valid

Saat seseorang mengunjungi URL bertanda tangan yang telah kedaluwarsa, mereka akan menerima halaman kesalahan umum untuk kode status HTTP

Route::get('/post/{post}', function (Post $post) {

7. Namun, Anda dapat menyesuaikan perilaku ini dengan menentukan penutupan "renderable" khusus untuk pengecualian

Route::get('/post/{post}', function (Post $post) {

9 di penangan pengecualian Anda. Penutupan ini harus mengembalikan respons HTTP

// Get the current URL without the query string...

// Get the current URL including the query string...

// Get the full URL for the previous request...

_4

URL Untuk Tindakan Pengontrol

Fungsi

echo route('post.show', ['post' => 1]);

// http://example.com/post/1

_0 menghasilkan URL untuk tindakan pengontrol yang diberikan

// Get the current URL without the query string...

// Get the current URL including the query string...

// Get the full URL for the previous request...

_5

Jika metode pengontrol menerima parameter rute, Anda dapat meneruskan array asosiatif dari parameter rute sebagai argumen kedua ke fungsi

// Get the current URL without the query string...

// Get the current URL including the query string...

// Get the full URL for the previous request...

_6

Nilai dasar

Untuk beberapa aplikasi, Anda mungkin ingin menentukan nilai default seluruh permintaan untuk parameter URL tertentu. Misalnya, bayangkan banyak rute Anda menentukan parameter

echo route('post.show', ['post' => 1]);

// http://example.com/post/1

1

// Get the current URL without the query string...

// Get the current URL including the query string...

// Get the full URL for the previous request...

_7

Sulit untuk selalu melewati

echo route('post.show', ['post' => 1]);

// http://example.com/post/1

2 setiap kali Anda memanggil pembantu

use Illuminate\Support\Facades\URL;

4. Jadi, Anda dapat menggunakan metode

echo route('post.show', ['post' => 1]);

// http://example.com/post/1

_4 untuk menentukan nilai default untuk parameter ini yang akan selalu diterapkan selama permintaan saat ini. Anda mungkin ingin memanggil metode ini dari sehingga Anda memiliki akses ke permintaan saat ini

// Get the current URL without the query string...

// Get the current URL including the query string...

// Get the full URL for the previous request...

_8

Setelah nilai default untuk parameter

echo route('post.show', ['post' => 1]);

// http://example.com/post/1

_2 telah ditetapkan, Anda tidak perlu lagi meneruskan nilainya saat membuat URL melalui bantuan

use Illuminate\Support\Facades\URL;

4

Default URL & Prioritas Middleware

Menyetel nilai default URL dapat mengganggu penanganan Laravel terhadap binding model implisit. Oleh karena itu, Anda harus menetapkan default URL untuk dieksekusi sebelum middleware

echo route('post.show', ['post' => 1]);

// http://example.com/post/1

7 milik Laravel. Anda dapat melakukannya dengan memastikan middleware Anda terjadi sebelum

echo route('post.show', ['post' => 1]);

// http://example.com/post/1

7 middleware dalam properti

echo route('post.show', ['post' => 1]);

// http://example.com/post/1

9 dari kernel HTTP aplikasi Anda

Properti

echo route('post.show', ['post' => 1]);

// http://example.com/post/1

_9 didefinisikan dalam kelas dasar

Route::get('/post/{post}/comment/{comment}', function (Post $post, Comment $comment) {

})->name('comment.show');

echo route('comment.show', ['post' => 1, 'comment' => 3]);

// http://example.com/post/1/comment/3

1. Anda dapat menyalin definisinya dari kelas itu dan menimpanya di kernel HTTP aplikasi Anda untuk memodifikasinya

Bagaimana cara memeriksa http atau https di URL di PHP?

Di bawah ini adalah kode PHP kami untuk mendeteksi apakah halaman memiliki HTTP atau HTTPS. ? php if( (kosong($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'mati'). $_SERVER['SERVER_PORT']. =

Bagaimana cara menambahkan http ke URL?

gema addHttp( $url );

Bagaimana cara mengganti http dengan https di PHP?

$hitung = 1; . //", "https. //", $url, $count); Catatan. Melewati 1 secara langsung akan menimbulkan kesalahan fatal (Fatal error. Hanya variabel yang dapat diteruskan dengan referensi) jadi Anda harus meneruskannya dengan parameter terakhir dengan referensi. Itu menimbulkan kesalahan karena $count hanya akan berisi jumlah penggantian yang dilakukan.

Bagaimana cara terhubung ke URL di PHP?

Jika ya, tambahkan “https” ke string URL . Jika HTTPS tidak diaktifkan, tambahkan "http" ke string URL. Tambahkan simbol reguler, i. e. “. //” ke URL. Tambahkan HTTP_HOST(Host yang kami minta, mis. g. www. google. com, www. yourdomain. com, dll…)