Metni programlı olarak nasıl filtrelerim?


8

Bir metin görüntülemek ve seçilen filtre uygulamak gerekir. Metin text_formatalan türü kullanılarak kaydedilir .

Bu yüzden orijinal metni biliyorum, seçilen format türünü biliyorum ama metni gerçekten nasıl filtreleyeceğimi bilmiyorum.

Metni programlı olarak nasıl filtreleyebilirim? Teşekkürler


2
Bunu programlı olarak yapmak istiyor musunuz? Evetse, şu bağlantıya bir göz atın: stackoverflow.com/questions/2959962/…
BetaRide

bugün kötü bir gündü. Bunu daha önce birçok kez kullandım ama şimdi hatırlayamıyordum. Bunu cevap olarak ekleyebilir miyim?
Marius Ilie

Cevap kısadır. Yoruma otomatik olarak dönüştürüldü :-(. Yine de yorumunuzu oylayabilirsiniz ;-).
BetaRide

@BetaRide check_markup(), bağlantıyı eklerseniz ve özet açıklamayı da kopyalarsanız, mükemmel kabul edilebilir (hatta iyi ) bir cevabınız olacaktır :)
Clive

Yanıtlar:


8

Bu stackoverflow sonrası bu program kullanarak nasıl yapılacağı anlatılmaktadır.

Sadece check_markup'ı arayın ve metninizi ve filtre kimliğini girin.

check_markup($text, $format_id = NULL, $langcode = '', $cache = FALSE)

Etkinleştirilmiş tüm filtreleri bir metin üzerinde çalıştırın.


Arasında bir fark vardır idJiltresi ve format_id . format_id değerinicheck_markup() kabul eder ve bu biçime uygulanan tüm filtreleri çalıştırır.
Komlenic

4

check_markup()İşlev ile metin biçimini kullanmaya zorlanırsınız (metin biçimi = filtrelerin yasaklanması).

Tam filtre biçimi olmadan yalnızca BİR , tam filtre kullanmak istiyorsanız (örneğin: Satır sonlarını HTML'ye dönüştürün ) sonra bu özel işlevi kullanın.

/**
 * Custom function to use only ONE filter wightout full format.
 *
 * @param {string} $string String to filter.
 * @param {string} $filter Filter name to use on $string
 * @return {string}        Filtered string.
 */
function filter($string, $filter) {
  $filters = filter_get_filters();
  $filter_autop = $filters[$filter];

  return $filter_autop['process callback']($string);
}

Kullanılabilir filtrelerin listesini ile kontrol edebilirsiniz dpm(filter_get_filters()).


1
Bu doğru bir cevap!
Alex Skrypnyk

1
Bu, bazı filtreler için geçerli olabilir, ancak yalnızca basit filtreler için kullanılabilir. Genel olarak geri arama işlemi api.drupal.org/api/drupal/modules%21filter%21filter.api.php/… filtre ayarları dahil daha fazla parametre alır. Ayrıca bir geri çağrı hazırlayın.
AdamS
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.