簡體   English   中英

PHP正則表達式替換img src屬性中的內容?

[英]PHP regex replace content in img src attribute?

我是 PHP 新手,有以下問題。 我必須清理圖像,如果它以http://開頭,則需要將所有img src 替換為/files/images/

這可能與正則表達式有關嗎?

我在這里找到了類似的解決方案,但它並不能滿足我的所有需求。

修改您鏈接的線程以執行您的請求:

$dom = new DOMDocument();
$dom->loadHTML($content);

foreach ($dom->getElementsByTagName('img') as $img) {
    $current_src = $img->getAttribute('src');
    $new_src = preg_replace('http://', '/files/images', $current_src);
    $img->setAttribute( 'src', $new_src );
}

$content = $dom->saveHTML();

我沒有現成的帶有 PHP 的機器可以為您測試(不在家里),所以如果您有任何問題,請告訴我,我很樂意為您排除故障。

正則表達式:刪除<img which src attribute is empty< div><div id="text_translate"><p> 我想要一個正則表達式模式來刪除 src 屬性為空的圖像,例如:</p><pre> $html = '&lt;img src="adasas.jpg" /&gt;&lt;br /&gt;asasas&lt;br /&gt;sdfsdf&lt;br /&gt;&lt;img title="asa" src="" /&gt;';</pre><p> 或者</p><pre>$html = '&lt;img src="adasas.jpg" /&gt;&lt;br /&gt;asasas&lt;br /&gt;sdfsdf&lt;br /&gt;&lt;a href="adafgag"&gt;&lt;img title="asa" src="" /&gt;&lt;/a&gt;';</pre><p> 如果此&lt;img存在於&lt;a&gt;標記之間,我還想刪除所有( &lt;a和&lt;img )。</p><p> 我測試了下面的代碼,但它刪除了所有 $html</p><pre> echo preg_replace( '?(&lt;a([^&gt;]+)&gt;).&lt;img(?*?)src=""([^&gt;]+)&gt;(&lt;/a&gt;),,si'; '' , $html );</pre><p> 任何人都可以幫助我嗎?</p><p> 提前致謝</p></div>

[英]RegEx : remove <img which src attribute is empty

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM