2011-01-14 2 views
1

Привет, мне нужна помощь в ситуации, когда у меня есть папка с именем «слайды», и у меня есть несколько текстовых/html-файлов, например: slide1.html slide2. HTML slide3.html и так далее .....Как получить переменные из массива, созданного путем разбора HTML-файла

структура этих файлов, как это:

<h2>Title of the Slide</h2> 
<p><a href="http://mydomain.com"><img src="icon.png" width="227" height="227" alt="icon" longdesc="http://longdescription" /></a></p> 
<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p> 

3 свойства Название, изображение и описание. Один в каждой строке.

----------- UPDATE ---------------

Я попытался как это было предложено @ Matt, но я получаю пустой screen: Вот сценарий всей страницы для справки. Я работаю над шаблоном Joomla.

<?php 
defined('JPATH_BASE') or die(); 
gantry_import('core.gantryfeature'); 

class GantryFeatureTabs extends GantryFeature { 
    var $_feature_name = 'tabs'; 
    function init() { 
     global $gantry; 

     if ($this->get('enabled')) { 
      $gantry->addScript('tabs.js'); 
      $gantry->addInlineScript($this->_tabs()); 
     } 
    } 
    function render($position="") { 
     ob_start(); 
     foreach(glob("/tabs/*.html") as $fileName) { 
     $fname = basename($fileName); 
     $curArr = file($fname); 
     $slides[$fname ]['title'] = $curArr[0]; 
     $slides[$fname ]['image-links'] = $curArr[1]; 
     $slides[$fname ]['description'] = $curArr[2]; 

     foreach($slides as $key => $value){ 

      ?> 
       <ul id="tabs1" class="tabs"> 
       <li> 
       <a href="<?php echo $demo_tabs_url.$curArr; ?>"><?php echo $value['title'] ?></a> 
       </li> 
       </ul> 
       <div class="clear"></div> 
       <ul id="contents1" class="tabs-content"> 
        <li> 
        <?php echo $value['image-links'] ?> 
        <?php echo $value['description'] ?> 
        </li> 
       </ul> 
      <?php 
      }} 
      ?> 
     <?php 
     return ob_get_clean(); 
    } 
    function _tabs() { 
     global $gantry; 
     $js = " 
      window.addEvent('load',function() { 
       var tabset = new TabSet($$('#tabs1 li a'),$$('#contents1 li'),{ 
        cookieName: 'demo-list' 
       }); 
      }); 
     "; 
     return $js; 
    } 
} 
+0

Обязан ли это, что у вас есть все эти файлы, как они? Или вы, возможно, предпочтете базу данных? – Marnix

+0

Это шаблон Joomla, поэтому, даже если вы предлагаете материал, основанный на базе данных, со мной все должно быть хорошо. –

ответ

0

Try ...

<?php 

error_reporting(E_ALL); 

class GantryFeatureTabs extends GantryFeature 
{ 
    $_feature_name = 'tabs'; 
    function init() { 
     global $gantry; 

     if ($this->get('enabled')) { 
      $gantry->addScript('tabs.js'); 
      $gantry->addInlineScript($this->_tabs()); 
     } 
    } 
    function render($position="") { 
     ob_start(); 
     foreach(glob("/tabs/*.html") as $fileName) { 
     $fname = basename($fileName); 
     $curArr = file($fname); 
     $slides[$fname ]['title'] = $curArr[0]; 
     $slides[$fname ]['image-links'] = $curArr[1]; 
     $slides[$fname ]['description'] = $curArr[2]; 
} 

     foreach($slides as $key => $value) 
     {   
      ?> 
       <ul id="tabs1" class="tabs"> 
       <li> 
       <a href="<?php echo $demo_tabs_url.$curArr; ?>"><?php echo $value['title'] ?></a> 
       </li> 
       </ul> 
       <div class="clear"></div> 
       <ul id="contents1" class="tabs-content"> 
        <li> 
        <?php echo $value['image-links']; ?> 
        <?php echo $value['description']; ?> 
        </li> 
       </ul> 
      <?php 
     } 
     return ob_get_clean(); 
    } 
    function _tabs() { 
     global $gantry; 
     $js = " 
      window.addEvent('load',function() { 
       var tabset = new TabSet($$('#tabs1 li a'),$$('#contents1 li'),{ 
        cookieName: 'demo-list' 
       }); 
      }); 
     "; 
     return $js; 
    } 
} 

?> 
+0

Я предположил, что ваши первые два примера кода работают так, как ожидалось, и ваша проблема связана с последним образцом, поскольку вы не указали точно, какую ошибку вы получаете. Пожалуйста, не стесняйтесь быть более конкретным на ваш вопрос, если я ошибаюсь. – Matt

+0

Извините. Я пробовал ваш подход, но это не сработало. Я отредактировал этот вопрос, а также включил весь сценарий всей страницы, где есть ваш ответ. Просьба пройти через это и предложить, что не так. Я получаю пустой экран –

+0

@Madhavi. Вы добавили дополнительную фигурную скобку - удалите} сразу под вторым foreach. – Matt

Смежные вопросы