Rumah >pembangunan bahagian belakang >masalah PHP >Bolehkah php menggantikan kandungan teks html?

Bolehkah php menggantikan kandungan teks html?

藏色散人
藏色散人asal
2021-09-19 09:39:031965semak imbas

php boleh menggantikan kandungan teks html Kaedah penggantian ialah: 1. Gantikan melalui kaedah "preg_match_all($pattern,htmlspecialchars_decode($a)...);" kaedah.

Bolehkah php menggantikan kandungan teks html?

Persekitaran pengendalian artikel ini: sistem Windows 7, PHP7.1, komputer Dell G3.

Bolehkah php menggantikan kandungan teks html?

php menggantikan kandungan dalam html

Adalah diketahui bahawa sekeping html berikut

$a="<p><img src=\"/upload/store/1/ue/image/1568282125833264.png\" title=\"1568282125833264.png\" alt=\"1.png\"/><img src=\"http://dimg04.c-ctrip.com/images/300q12000000rq2t956CB.jpg\" alt=\"undefined\"/><img src=\"https://dimg04.c-ctrip.com/images/300m12000000sdsca92E2.jpg\"/><img src=\"https://dimg04.c-ctrip.com/images/300w12000000rutmrD6CB.jpg\" alt=\"undefined\"/><img src=\"https://dimg04.c-ctrip.com/images/300u12000000rorex415F.jpg\" alt=\"undefined\"/><img src=\"http://dimg04.c-ctrip.com/images/300k12000000rsyxgBA05.jpg\" alt=\"undefined\"/></p>"

Terdapat http, https dan URL laluan relatif setempat

Penggunaan biasa:

$pattern="/<img.*?src=[\&#39;|\"](.*?)[\&#39;|\"].*?[\/]?>/";
preg_match_all($pattern,htmlspecialchars_decode($a),$match);
if(!empty($match[1])){
    print_r($match[1]);
}else{
echo "没得";
}

Padanan pertama semua dalam gelung $match[ 1]

After loop foreach($match[1] as $val){preg_replace('#src="'.$val.'"/#is', 'src= "aaaaa/ ',$a);}

Saya rasa ini agak menyusahkan

Naik taraf penggunaan:

$host="http://mp.csdn.net"
$newContent =  preg_replace_callback("/<img.*?src=[\&#39;|\"](.*?)[\&#39;|\"].*?[\/]?>/", function($m) use($host){

   if(strpos($m[1],&#39;http://&#39;) || strpos($m[1],&#39;https://&#39;)){
       return $m[0];
   }else{
       $img=preg_replace(&#39;#src="/#is&#39;, &#39;src="&#39;.$host.&#39;/&#39;,$m[0]);
       return $img;
   }
}, $a);

Walaupun kaedah ini digunakan Ia kurang, tetapi kesannya sangat baik semasa pemprosesan kelompok

Saya secara peribadi menyukai fungsi penutupan seperti ini. Kod ini sangat boleh dibaca

Disyorkan untuk belajar: "Tutorial Video PHP"

Atas ialah kandungan terperinci Bolehkah php menggantikan kandungan teks html?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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