PHP - kaldırmak

5 Cevap php

Hey, ben bir dize tüm görüntüleri silmek gerekiyor ve ben sadece bunu yapmak için doğru yolu bulamıyorum.

İşte uğraş nedir, ancak çalışmıyor:

preg_replace("/<img[^>]+\>/i", "(image) ", $content);
echo $content;

Herhangi bir fikir?

5 Cevap

> önünde \ bırakarak deneyin.

Düzenleme: Ben sadece regex test ve iyi çalışıyor. Bu benim kullanılan budur:

<?
    $content = "this is something with an <img src=\"test.png\"/> in it.";
    $content = preg_replace("/<img[^>]+\>/i", "(image) ", $content); 
    echo $content;
?>

Sonuç:

this is something with an (image)  in it.

Sen preg_replace özgün dize değişiklik yok gibi geri $content sonucu atamak gerekir.

$content = preg_replace("/<img[^>]+\>/i", "(image) ", $content);

Sean ben sadece bu kodu kullandım çalışıyor

$content = preg_replace("/<img[^>]+\>/i", " ", $content); 
echo $content;

/ / Sonuç sadece düz metin bulunuyor. Bu çalışıyor!

Ne yazık ki bir hikaye ilk 300 kelime içinde bir görüntü olsaydı o zaman gerçekten benim düzeni ile berbat önizleme listesinde görüntülenen anlamına geliyordu bir önizleme olarak bir haber ilk 300 kelime görüntülemek istedim. Benim veritabanından alınan dize görüntülerin tüm gizlemek için yukarıdaki kodu kullanılmış ve harika çalışıyor!

$news = $row_latest_news ['content'];
$news = preg_replace("/<img[^>]+\>/i", "", $news); 
if (strlen($news) > 300){
echo substr($news, 0, strpos($news,' ',300)).'...';
} 
else { 
echo $news; 
}