php padankan penggantian src

WBOY
Lepaskan: 2023-05-07 12:51:07
asal
657 orang telah melayarinya

Dalam pembangunan tapak web, kita sering menghadapi situasi di mana kita perlu menggantikan bahagian tertentu kod halaman dalam kelompok Contohnya, kita perlu menggantikan semua alamat imej (src) dalam halaman dengan alamat baharu. Pada masa ini, kita boleh menggunakan ungkapan biasa berkuasa yang disediakan oleh PHP untuk mencapai ini.

Pertama, kita perlu mendapatkan kod HTML yang perlu diubah suai. Anda boleh menggunakan fungsi file_get_contents() untuk membaca daripada fail atau mendapatkan kod HTML daripada URL.

$html = file_get_contents('http://www.example.com/page.html');
Salin selepas log masuk

Kemudian, kita perlu membina ungkapan biasa untuk memadankan semua alamat imej pada halaman. Dalam halaman HTML, atribut src semua teg imej muncul dalam bentuk src="xxxxxx". Oleh itu, kita boleh membina ungkapan biasa untuk memadankan semua atribut src, seperti berikut:

$pattern = '/src=[\'"]([^\'"]+)[\'"]/i';
Salin selepas log masuk

Dalam ungkapan biasa ini, kurungan segi empat sama [] digunakan untuk mewakili set aksara, yang termasuk petikan tunggal, petikan berganda Tanda petikan dan aksara lain kecuali petikan tunggal dan berganda. Tanda tambah + digunakan untuk memadankan set aksara sebelumnya sekurang-kurangnya sekali. Gunakan kurungan () untuk menunjukkan pengumpulan dan ekstrak nilai atribut src. Bendera /i digunakan untuk menunjukkan ketidakpekaan huruf besar-besaran.

Seterusnya, kita perlu menggunakan fungsi preg_replace_callback() untuk melaksanakan operasi penggantian. Fungsi ini boleh memanggil fungsi panggil balik untuk melaksanakan operasi penggantian bagi setiap hasil yang dipadankan. Dalam fungsi panggil balik ini, kita boleh mendapatkan nilai atribut src yang sepadan dan melakukan operasi penggantian.

$newHtml = preg_replace_callback($pattern, function($matches) {
    $oldSrc = $matches[1];
    $newSrc = getNewSrc($oldSrc);
    return 'src="' . $newSrc . '"';
}, $html);
Salin selepas log masuk

Dalam fungsi panggil balik ini, kita mula-mula memperoleh nilai atribut src yang dipadankan $oldSrc, dan kemudian memanggil fungsi getNewSrc() untuk mendapatkan alamat imej baharu $newSrc dan menetapkannya kepada atribut src , dan mengembalikan rentetan yang diganti.

Selepas menyelesaikan operasi penggantian, kami boleh mengeluarkan atau menyimpan kod HTML baharu ke fail.

echo $newHtml;
file_put_contents('new.html', $newHtml);
Salin selepas log masuk

Kod lengkap adalah seperti berikut:

$html = file_get_contents('http://www.example.com/page.html');

$pattern = '/src=[\'"]([^\'"]+)[\'"]/i';

$newHtml = preg_replace_callback($pattern, function($matches) {
    $oldSrc = $matches[1];
    $newSrc = getNewSrc($oldSrc);
    return 'src="' . $newSrc . '"';
}, $html);

echo $newHtml;
file_put_contents('new.html', $newHtml);

function getNewSrc($oldSrc) {
    // do something to get the new src
    return $newSrc;
}
Salin selepas log masuk

Dengan menggunakan ungkapan biasa PHP, kami boleh menggantikan bahagian tertentu halaman secara berkelompok dengan mudah, menjadikan pembangunan dan penyelenggaraan tapak web lebih cekap. .

Atas ialah kandungan terperinci php padankan penggantian src. 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!