PHP Kodlama birden etiketleri preg_replace sınırla fonksiyonu

0 Cevap php

Ben bir dosya arama ve uygun yedek kelime ile kelimelerin bir listesini yerini alacak bir büyük bir küçük komut dosyası var. Ben de onlar çapa etiketleri img etiketlerini ya da ben belirtmek gerçekten herhangi bir etiket görünür eğer bu kelimeleri yerine gelen preg_replace önlemek için bir yol bulduk. Ben birden fazla etiket belirtmek için muktedir bir OR deyimi oluşturmak istiyoruz. Açık olmak gerekirse, ben bir çapa etiketi görünmüyor sadece kelimeleri yerine gelen preg_replace önlemek ister, ancak herhangi bir çapa, link, embed, object, img ve span etiketi görünür olacaktır. Hiçbir başarı ile kodu çeşitli yerlerde OR operatörünü | 'Ben kullanarak çalıştı.

    <?php
$data = 'somefile.html';
$data = file_get_contents($data);
$search = array ("/(?!(?:[^<]+>|[^>]+<\/a>))\b(red)\b/is","/(?!(?:[^<]+>|[^>]+<\/a>))\b(white)\b/is","/(?!(?:[^<]+>|[^>]+<\/a>))\b(blue)\b/is");
$replace = array ('Apple','Potato','Boysenberry');
echo preg_replace($search, $replace, $data);?>
print $data;
?>

temelde içeride "kırmızı" değil, aramak için diyor ilk arama vadede bakıyor:

"/(?!(?:[^<]+>|[^>]+<\/a>))\b(red)\b/is"

Ben preg_replace kırmızı 'yerine geçmez yüzden ben bir şekilde bu arama <\ / link> <\ / embed> <\ / object> <\ / img> ekleyebilirsiniz nasıl anlamaya çalışıyorum 'ya bu etiketleri herhangi bir.

0 Cevap