2011-01-11 2 views
0

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

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

<h2>Title of the Slide</h2> 
<p><a href="http://mydomain.com"><img src="tick_icon.jpg" 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, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p> 

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

У меня есть 10 - 12 файлов, подобных этому. Мне нужна функция, которая будет зацикливать и анализировать все эти файлы в папке с именем 'slides' и возвращать значения каждой строки (из 3 строк) в качестве переменной, чтобы я мог поместить их в свой код для макета.

+0

Что такое ваш вопрос? –

+0

Не могли бы вы быть более точными о том, как вы хотите, чтобы HTML обрабатывался? В частности, я не уверен, что вы подразумеваете под «значениями каждой строки». Кроме того, есть ли у вас предпочтительный язык, чтобы написать это? – Karmastan

ответ

1

Вы можете использовать

foreach(glob('slides/*.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]; 
} 

и вы будете в конечном итоге с одной большой $slides массив, который будет иметь имена файлов в качестве ключей и ключей от 3 подразделам, title, image-links и description. Это предполагает, что каждый из «слайдов» имеет расширение .html и что содержимое каждого слайда окончательно отображается на 3 строках.

+0

Эй @ JMC Это было прекрасно. Это именно то, что я искал. Спасибо за помощь. И yesthe HTML-файл имеет только 3 строки. Каждое поле в 1 строке. –

0

На каком языке вы хотели бы этого? HTML не является языком программирования. Вы также не можете выполнить это в Javascript, поскольку у него нет подпрограмм обработки файлов, и в любом случае почти наверняка не будет разрешено соскальзывать вокруг структуры каталогов сервера.

Вы могли бы сделать это в PHP, используя что-то вроде:

<?php 
    $filelist = glob("/path/to/files/slide*.html"); 
    foreach($filelist as $file) { 
     echo <<<EOL 
<a href="/url/to/files/$file">$file</a><br /> 
EOL 
} 
?> 
+0

Привет, спасибо спасибо за помощь, я использую PHP. Но как мне получить значения каждой строки как индивидуальные, как '$ title. $ imglink $ excerpt'. (3 строки в HTML-фиалах) –

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