PHP 實現自動新增或者替換 內容的IMG標籤的 alt title 屬性

煙火裡的塵埃發表於2019-02-16

應用場景

在cms 開發中,SEO優化 一般需要把文章標題 設定為 img 的alt title 屬性,那麼內容多個 img 時,手動過於繁瑣。

實現原理

根據以上需求,那麼使用正則找內容的 img 標籤 ,進行新增或者替換即可

示例程式碼

<?php
$str =`<div class="wkBody">
                        <div id="panelSummary" class="abstract">
    
                            <span class="font28">摘要:</span>
                            作為阿根廷種植面積第二大的紅葡萄品種,伯納達的發展潛力越來越大,逐漸成為阿根廷的希望之星。
                            <div id="pnlSummaryEN" class="abs-en">
        
                                <span class="font28">ABSTRACT:</span>
                                Bonarda is Argentina’s second most widely planted red grape, which may make a big splash in the coming years.
                            
    </div>
                        
</div>
                        <p>
    說到阿根廷葡萄酒,大家最先想到的可能是著名的<a href="http://www.wine-world.com/s/grape?q=馬爾貝克&amp;token=ba782698-e5be-44f8-8e54-09eac16f02a9&amp;from=user" target="_blank">馬爾貝克</a>(Malbec),毫無疑問,這個品種在阿根廷佔據著絕對的主導地位。但是,除了馬爾貝克以外,阿根廷還有一個發展潛力巨大的葡萄品種,它是阿根廷的希望之星——阿根廷種植面積第二大的葡萄品種伯納達(Bonarda)。<br>
    <br>
     <strong> 1. 特徵</strong></p>
<p style="text-align: center;">
    <strong><a target="_blank" href="/culture/pic/22571cf7-ee6b-4176-8efb-e02e4e9dd947/0"><img alt="除了馬爾貝克,阿根廷還有伯納達" title="除了馬爾貝克,阿根廷還有伯納達" src="/UserFiles/images/01-bonarda-161114.jpg" style="width: 375px; height: 500px;"></a></strong></p>
<p style="text-align: center;">
    <span style="font-size:12px;">圖片來源:Wine Folly</span></p>
<p>
    伯納達葡萄酒初聞時果香撲鼻,帶有糖漬黑櫻桃、新鮮藍莓和李子的香氣。緊接著,香氣變得更加複雜,散發出紫羅蘭、五香、多香果和牡丹的氣息。最後,經過橡木桶的酒還會有輕微的雪茄盒、甜無花果和巧克力等煙燻氣息。入口時,伯納達葡萄酒最先表現的也是果味,酒體中等,鮮酸多汁,單寧較低,餘味順滑,十分易飲。<br>
    <br>
      伯納達與馬爾貝克一樣擁有飽滿的顏色,但伯納達的單寧含量更低,酸度更高、更多汁。如果你不喜歡使用橡木桶的葡萄酒,那你可能會青睞伯納達葡萄酒,因為大多數伯納達葡萄酒少用甚至不用橡木桶。另外,伯納達葡萄酒的酒精度很少超過13.5%。<br>
    <br>
     <strong> 2. 配餐</strong></p>
<p style="text-align: center;">
    <strong><a target="_blank" href="/culture/pic/22571cf7-ee6b-4176-8efb-e02e4e9dd947/1"><img alt="除了馬爾貝克,阿根廷還有伯納達" title="除了馬爾貝克,阿根廷還有伯納達" src="/UserFiles/images/02-cedar-plank-salmon-161115.jpg" style="width: 550px; height: 333px;"></a><div style="width: 550px;" class="addivstyle"><div id="testdiv" style="width: 550px;" class="adseconddiv"><a href="http://mall.wine-world.com/activity/activitypromotion10" target="_blank"><img src="http://images.wine-world.com/images/wineworldlogo.jpg" style="left:2px;top:2px;width:102px;position: absolute;border: none;background: none;"><span style="position: absolute;left:120px;right:85px;top:10px;color: #FFF;text-align:left;">開搶50元代金券,醉惠中級莊盛宴<br>30款中級莊美酒任君挑選,領券後下單直減50元!</span><span class="qukankanstyle" style="top: 20px;">去看看</span></a></div></div></strong></p>
<p style="text-align: center;">
    <span style="font-size:12px;">圖片來源:Wine Folly</span></p>
<p>
    伯納達葡萄酒低單寧、高酸的特點使其可以與多種食物搭配,如雞肉、牛肉、豬肉和魚排等;而酒中輕微的棕色香料的風味也可以與菠蘿、芒果、照燒汁等完美結合。<br>
    <br>
    <strong>  3. 此伯納達非彼伯納達</strong><br>
    <br>
      阿根廷的伯納達與其它地方的伯納達很可能並不是同一個葡萄品種,也許阿根廷的伯納達本不該被稱為“伯納達”。DNA檢測表明阿根廷的伯納達與法國薩瓦(Savoie)產區一種叫“Deuce Noir”的稀有葡萄是同一品種,跟納帕谷(Napa Valley)古老葡萄園中的沙幫樂(Charbono)也是相同的品種。<br>
    <br>
      實際上,真正的伯納達葡萄指的是一組義大利葡萄,至少分為6種,其中最出名的是皮埃蒙特伯納達(Bonarda Piemontese)。更容易引起混淆的是,義大利倫巴第(Lombardy)的奧爾特萊伯·帕韋斯(Oltrepo Pavese)產區所產的標有“伯納達”的葡萄酒實際上是用科羅帝納(Croatina)釀製而成的;<a href="http://www.wine-world.com/s/area?q=皮埃蒙特&amp;token=36d3dd49-745b-43f8-8bce-1b90ce3118b0&amp;from=user" target="_blank">皮埃蒙特</a>(Piedmont)有些釀酒師釀製的標有“伯納達”的葡萄酒其實是用一種叫茹拉(Uva Rara)的葡萄釀製的。<br>
    <br>
      所以,如果下次有人糾正你對阿根廷伯納達的叫法時,不妨問問他們以上這兩種標有“伯納達”的葡萄酒為什麼是用別的葡萄釀製的,他們最好能說出它們之間的聯絡。<span style="font-size:12px;">(文/Christina)</span></p>
                        
                        <div id="pnlWineVersion2">
    
                              <p>宣告:本文版權屬於“紅酒世界網”,轉載請保留版權資訊。關注微訊號“wine-world”,隨時隨地瞭解最新紅酒資訊。</p>
                        
</div>
                    </div>`;


$preg = "/<img.*?src=["|`](.*?)["|`].*?>/";
$alt = "1234";
$title = "123456";
$img = `<img src="$1" alt="`.$alt.`"title="`.$title.`">`;
$data = preg_replace($preg,$img,$str);
var_dump($data);

相關文章