天天看點

php 替換html标簽,php – 替換HTML标簽中的圖像src?

我想用正規表達式來替換src html屬性. HTML沒有格式錯誤,幸運的是在資料庫的所有頁面中采用相同的形式 – 即

php 替換html标簽,php – 替換HTML标簽中的圖像src?

如果頁面中隻有一個圖像,我的代碼可以正常工作.我想知道替換多個圖像的最佳方法,因為這個将用相同的字元串替換所有圖像标記.

$result = $s->db_query("SELECT reviewFullText as f FROM reviews WHERE reviewsID = 155");

while($row = mysql_fetch_array($result))

{

$body = stripslashes(html_entity_decode($row['f'], ENT_NOQUOTES, "UTF-8"));

preg_match_all('/]{1}/i', $body, $matches);

for($i=0;$i

{

$number = preg_replace("/[^0-9]/", '', $matches[0][$i]);

echo preg_replace('/]{1}/i', '

php 替換html标簽,php – 替換HTML标簽中的圖像src?

}

}

是以,如果頁面包含兩個檔案,一個名為1.png,另一個名為2.png,則腳本應該解析這些數字并用不同的URL替換它們,例如http://xy/a/1.png和http:// XY /一個/ 2.png.

我聽說preg_replace_callback是最好的方法,但我不知道如何讓這個工作……幫助!

解決方法:

# Untested code:

$xml = new SimpleXml($xmlString);

foreach ($xml->xpath('//img') as $imgNode) {

$imgNode->addAttribute('src', "http://x.y/a/" . $imgNode->getAttribute('src'));

}

echo $xml->asXML();

請注意,如果你的html不是xhtml(即有效的xml),你需要像DOMDocument::loadHtml()這樣的東西,但是這個想法保持不變.

标簽:php,regex

來源: https://codeday.me/bug/20190927/1824744.html