PHP kullanarak etiketleri ile metnin bir yığın sarma

3 Cevap php

Ben (Wordpress kullanarak) bir kullanıcı (http://www.queness.com/resources/html/slideshow/jquery-slideshow.html), bir sahte etikete dayalı bir jquery slayt galerisi eklemek için izin çalışıyorum. Örneğin:

[slideshow]
    <img src="url" /><br />
    <img src="url" />
[!slideshow]

Benzer bir şey üretecek

<div id="gallery">
     <a href="#"><img src="url" /></a><br />
     <a href="#"><img src="url" /></a><br />
</div>

Ben sorunları yaşıyorum burada jquery kod çapa etiketleri ile kapalı olması img gerektirir düşünüyorum. İşte ne var, ama Wordpress sayesinde, kod yukarıda veya aşağıda bir şey biçimi doğru değil. Ben Wordpress formatlama fonksiyonunu kullandım, ama bu bir paragraf etiketi HER çizgi sarar, bu yüzden her şeyi kırar.

function make_slideshow($string) {

 $patterns[0] = '/(\[\[slideshow\]\])/';
 $patterns[1] = '/(\[\[\!slideshow\]\])/';
 $replacements[0] = '<div id="gallery">';
 $replacements[1] = '<div class="caption"><div class="content"></div></div></div>';
 $replace = preg_replace($patterns, $replacements, $string);

 $new_line = explode("\n", $replace);

 foreach($new_line as $key => $value) {
  if($value == "" || $value == " " || is_null($value)) {
   unset($new_line[$key]);
  }
 }

 $sorted_lines = array_values($new_line);

 foreach($sorted_lines as $key => $value){
  if( (stristr($value, 'href') === FALSE) && (stristr($value, 'img') !== FALSE) ){
   $sorted_lines[$key] = '<a href="#">' . $value . '</a>';
  }

  if( (stristr($value, 'show') === FALSE) && ($key === 1) ){
   $value = explode(" ", $value);
   $value[0] .= ' class="show"';
   $sorted_lines[$key] = implode(" ", $value);
  }

 }

$ sorted_lines dönmek;

};

Normalde ben SO benim bütün diğer cevaplar bulmak, yani bu sadece benim ilk soru. Ben bu yüzden ben bunu denemek düşündüm onunla bana yardım etmeye başkası için bir sorun yol çok büyük olmadığını bilmiyorum, ama ben şaşırıp.

3 Cevap

Wordpress editörü otomatik p etiketleri ekler; Bunu yapmaktan WP durdurmak gerekir. Benim durumumda, editörü tüm satır sonlarını kaldırmak ya - yukarı kodu scrunch - veya biçimlendirmeyi ekleyerek WP durdurmak için, birkaç eklentileri kullanın: TinyMCE Advanced ve / veya Disable wpautop .

Bir p etiketi ekler bu kodu bir şey yok. Bu sorun, bir sarıcı olarak p ekler gerçek kodu bulmak gerekir.

Ne WordPress fonksiyonu rutin çağırıyor?

Ben benzer bir sorun vardı:

<?php wp_list_pages( $args ); ?>

Ben surpress istediği her şeyi <ul> bağlantılar ekleyerek oldu ..

Rutin itibaren bir hiyerarşi up rutin WP dev belgeleri kontrol ve ben <p> etiketleri bastırmak için $arg değer olacak bahse.

http://codex.wordpress.org/Function_Reference