Bagaimana untuk Memautkan URL dalam Rentetan Menggunakan PHP?

DDD
Lepaskan: 2024-10-28 03:06:02
asal
498 orang telah melayarinya

How to Linkify URLs in a String Using PHP?

Memautkan URL dalam Rentetan Menggunakan PHP

Apabila berurusan dengan rentetan yang mengandungi URL, selalunya wajar untuk menukar URL tersebut menjadi hiperpautan boleh klik . Ini boleh dicapai melalui keupayaan manipulasi rentetan PHP yang meluas.

Pertimbangkan rentetan berikut:

"Look on http://www.google.com".
Salin selepas log masuk

Matlamatnya adalah untuk menukar rentetan ini kepada:

"Look on <a href="http://www.google.com">http://www.google.com</a>"
Salin selepas log masuk

Penyelesaian

PHP menyediakan beberapa kaedah untuk mencari dan menggantikan corak dalam rentetan. Untuk memautkan URL dalam rentetan, kami boleh menggunakan kod berikut:

<code class="php">$string = "Look on http://www.google.com";
$string = preg_replace(
    "~[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]~",
    "<a href=\"\0\">\0</a>", 
    $string
);</code>
Salin selepas log masuk

Kod ini menggunakan ungkapan biasa untuk mengenal pasti URL yang sah dalam rentetan. Corak ~[[:alpha:]] ://[^<>[:space:]] [[:alnum:]/]~ mencari rentetan yang bermula dengan protokol "http", diikuti dengan domain nama atau alamat IP dan berakhir dengan garis miring atau aksara abjad angka yang lain.

Setelah URL dipadankan, ia digantikan dengan rentetan yang mengandungi teg sauh HTML () dengan URL sebagai atribut href. Urutan \0 digunakan sebagai pemegang tempat untuk URL yang dipadankan.

Nota Keserasian

Kod yang disediakan menyokong PHP versi 5.3 dan ke atas. Untuk versi di bawah 5.3, gantikan preg_replace dengan ereg_replace.

Atas ialah kandungan terperinci Bagaimana untuk Memautkan URL dalam Rentetan Menggunakan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!