Başlık etiketleri superscript Görmezden

8 Cevap php

Ben bir veritabanı odaklı web sitesi üzerinde çalışmak. Çoğu sayfaları 'başlıkları sahip ortakların isimleri, ve php kullanarak bir veritabanından görev yaptı.

Örneğin bir sayfa "Experian" denebilir. Sorun değerler gibi şeyler vardır, çünkü ortağı adları için bazı değerlerin işe kalmamasıdır

  $partnername22 = Discover<sup>tm</sup> Magazine

Üst simge bir başlık göstermek değil, çünkü ben bir başlık için bu kullanamazsınız, ve diğer pek çok şey buna bağlıdır çünkü değerini değiştiremezsiniz. Ben onlar başlığında ise tarayıcı simge etiketleri görmezden yapmak için indirebiliriz bir hile var mı?

8 Cevap

Için:

<title><?php echo $offer22name ?>is a magazine</title>

: değiştirmek

<title><?php echo preg_replace('|<sup>(.*?)</sup>|', '($1)', $offer22name) ?> is a magazine</title>

Bryan belirtildiği gibi Ancak, bu senaryoda PHP'nin strip_tags () kullanmalısınız. Yani:

<title><?php echo strip_tags($offer22name) ?> is a magazine</title>

Bu bir başlık olarak göndermeden önce dize html tümünü kaldırmak için PHP'nin strip_tags () komutu kullanımı çok basit (ve muhtemelen tavsiye) olacaktır.

<title><?PHP echo str_replace('<sup>tm</sup>', '&trade;', $offer22name); ?> is a magazine</title>

Ya da, daha güvenli:

<title><?PHP echo strip_tags(str_replace('<sup>tm</sup>', '&trade;', $offer22name)); ?> is a magazine</title>

Ya da, (tam olarak bu bir emin değilim) daha fazla vaka alıcı:

<title><?PHP echo strip_tags(preg_replace('/<sup.*?>\s+[Tt][Mm]\s*</(sup|)>', '&trade;', $offer22name)); ?> is a magazine</title>

Sen '&#8482;', '&#x2122;' ile '&trade;' olarak değiştirin, ya da '™' istediğiniz (ama son biri için emin kodlamaları maç yapmak) ise, bağlı olabilir durum.

Değil AFAIK, ama zaten DB'den bir dize dışarı komut dosyası eğer, neden olamaz komut dosyası üzerinden (istediğiniz gibi veya etiket çiftleri) boş dizeleri ile etiketleri değiştirerek aynı dize regex?

Bir kelimeyle, hayır.

İdeal $partnername22 = strip_tags('Discover<sup>tm</sup> Magazine'); (ya da bir şey meraklısı) yapardı, ama o sonra ben korkuyorum edemez eğer bir JavaScript çözümü ile sıkışmış demektir.

Gibi bir şey:

window.title = window.title.replace(/<sup.*?</sup>/, '');

metnin yerini alacak PHP Düzenli İfade ile (metin):

$title = preg_replace('|<sup>(.*?)</sup>|', '\($1\)', $title);

Bu javascript bunu benzer olacaktır.

Mike, bu demek düşünüyorum:

$title = preg_replace('|<sup>(.*?)</sup>|', '$1', $title);

Eğer daha önce vardı yolu etiketli kelime etrafında bazı eğik ve parantezi yazdırır. Değil mi?

pg, ayrıca sadece yapabileceği

$title = preg_replace('|<sup>(.*?)</sup>|', '', $title);

tamamen başlıktan superscripted bilgi kaldırmak istedim.

Nasıl bazı CSS basit uygun dersiniz?

h2.title sub, h2.title sup { vertical-align: baseline; font-size:100%; }