Metnin belirli hatları biçimlendirmek için Düzenli İfade

2 Cevap php

Ben daha güzel bir görünüm ve daha fazla e-posta gibi hissediyorum yaparak benim de site, kişisel mesajlaşma sistemi geliştirmeye çalışıyorum. Ben şu anda cevap metninin her satırı önce> eklemek, ama ben de tırnak işaretleri olmadan ">" ile başlayan hatlar için böyle yazı tipi rengi gibi biçimlendirme eklemek istiyorum. Ben normal bir ifade ile hatlarını kapatmak nasıl emin değilim. Açmak için ben aşağıdaki gibi bir şey yapmalıyım varsayıyorum?

$new_text = preg_replace("\> \is", "<font color=\"grey\">> ", $text);

2 Cevap

Zaten yayınlanmıştır iyi cevaplara ek olarak, HTML olarak tedavisinde önce yakalanan metin kaçmak isteyebilirsiniz. Basit değiştirilmesi, alıntı metinde bazı karakterlerin (özellikle '<', '>' ve '&') ile oluşturulan HTML geçersiz yapacaktır. (Yerine ">" of ">" Ben zaten kaçmaz sanıyorum, ya da maç gerekir.)

Yedek geçerli HTML verimleri sağlamak için, böyle bir şey yapabilirsiniz:

function quote_markup($matches) {
    $quote = htmlspecialchars($matches[1]);
    return "<span style=\"color: red;\">$quote</span>",
}

preg_replace_callback("/^(>.*)$/im", 'quote_markup', $reply);
preg_replace('/(\n>[^\n]*)+/','<span class="reply">$1</span>', $message);

Bunun gibi bir şey sizi stil bir şey ile kote cevap içine alacak.