2017-08-10 227 views
0

我想將HTML頁面轉換爲Google AMP頁面,並且我遇到了這個問題,其中有很多<img>,我想將它們變成<amp-img>標記。如何使用<amp-img>標籤替換HTML中的<img>標籤?

例如,我想轉:

<img src='apa.png'><br> 
hi bro <img src="c.png'> 

弄成這個樣子:

<amp-img src="apa.png" width="800" height="684" layout="responsive" alt="AMP"></amp-img><br/> 
hi bro <amp-img src="c.png" width="800" height="684" layout="responsive" alt="AMP"></amp-img> 

我試着用PHP來取代這些標籤,但沒有奏效。

+1

正是你試過到目前爲止什麼? – localheinz

+0

這個HTML在哪裏?他們是字符串嗎?或者他們在HTML文件? –

回答

3

您可以使用preg_replace將字符串替換爲模式(http://php.net/manual/en/function.preg-replace.php)。

試試這個代碼:

echo htmlentities(preg_replace(
    '/<img src="([^"]*)"\s*\/?>/', 
    '<amp-img src="$1" width="800" height="684" layout="responsive" alt="AMP"></amp-img>', 
    '<img src="apa.png"><br>hi bro <img src="c.png">' 
)); 
+0

在這裏使用'htmlentities()'的目的是什麼? – localheinz

+0

Juste在使用瀏覽器測試代碼時顯示結果。當刪除htmlentities()函數時,結果將不會正確顯示,因爲瀏覽器會將解釋爲html標記。 –

+0

如何使用http://3v4l.org代替?例如,請參閱https://3v4l.org/dKcD2。 – localheinz

0

如果HTML是存在於HTML文件,那麼所有你需要做的就是做<amp-img width="800" height="684" layout="responsive" alt="AMP" src=

,如果你有一個編輯器,能夠發現和使用普通rexpression更換的,使用搜索替換<img src=FIND以下的正則表達式:

<img src=("|')(.*)'> 

及以下的REPLACE

<amp-img src="$2" width="800" height="684" layout="responsive" alt="AMP"</amp-img> 

我用Dreamwearver試過這個,它適合我。

+0

不要忘了''標籤也需要關閉:https://ampbyexample.com/components/amp-img/。 – localheinz

+0

我改變了使用正則表達式查找和替換的答案,它也考慮了結束標記。 –