Здравствуйте! в файле много слов, я их считываю так: PHP: $file_handle = fopen("city.dat", "r"); while (!feof($file_handle)) { $line = fgets($file_handle); //echo $line; $str = $line; $symbol = ""; $newString = $symbol . str_replace("", " $symbol", $str); echo '',$newString,''; } fclose($file_handle); как мне можно по 8 слов поместить в таблицу чтобы получить результат: HTML: <table> <tr> <td>11111<br>22222<br>33333<br>44444<br>55555<br>66666<br>77777<br>88888</td> </tr> <tr> <td>99999<br>00000<br>10101010<br>12121212<br>13131313<br>14141414<br>15151515<br>16161616</td> </tr> </table>
Я так понимаю, у тебя текст будет без спец. символов, значит это подойдет. В $matches у тебя будут все слова из текста, а в хтмл обернешь в простом цикле. PHP: $content = file_get_contents("city.dat"); preg_match_all('/\b\S+\b/', $content, $matches);
while - это цикл, а значит можно считать каждую итерацию $i++ и когда $i будет кратно 8 закрываем строку таблицы и создаем новую. Как-то так.
И не забыть, что после закрытия строки по данной логике, новых данных может уже и не быть) А то можно получить пустую строку.
PHP: if(!empty($xml->city_f->page)) { $agrs = $xml->city_f->page; foreach ($agrs as $vals) { echo "<li><a href='$vals[link]' class='link2'>$vals</a></li>"; } } если честно, городов 322, в ХМЛЬ уже какой час записываю. а есть текстовый документ все слова через пробел.
есть примерчик готовый???? может кто пр: PHP: function getMenu() { global $linkes; $links = "<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" "."width=\"60%\" class=\"tabmenu\">\n"; $links .= "<tr>\n"; foreach($linkes as $key => $value) { $links .= "<td style=\"border-right: 1px;\" align=\"center\" width=\"25%\" title=\"".$key."\" >". "<div class=\"warges\"><div class=\"knopka_avd wsa_5r\"><div>".$key."</div><div><a href=\"".HOST.$value."\">>> Далее >></a></div></div></div></td>\n"; } $links .= "</tr></table>\n"; return $links; } таблица
хочу чтобы скрипт считывал текст с файла и выводил его в таблички по алфавиту. пр: все слова на А в одной таблице, все слова на Б в другой таблице.
@leon2009, вот блин, чёб сразу так не сказать? Теперь понятно, но вызывает подозрение, что читать надо из файла, а не из БД, ну да фиг с ним. Аттач сюды файл, желательно xml.
хмль доделываю HTML: <?xml version="1.0" encoding="utf-8"?> <menu> <city_a name="А"> <page link="abakan">Абакан</page> <page link="azov">Азов</page> <page link="aleksandrov">Александров</page> <page link="aleksin">Алексин</page> <page link="almetevsk">Альметьевск</page> <page link="anapa">Анапа</page> <page link="angarsk">Ангарск</page> <page link="anjerosudgensk">Анжеро-Судженск</page> <page link="apatity">Апатиты</page> <page link="arzamas">Арзамас</page> <page link="armavir">Армавир</page> <page link="arsenev">Арсеньев</page> <page link="artem">Артем</page> <page link="arhangelsk">Архангельск</page> <page link="asbest">Асбест</page> <page link="astrahan">Астрахань</page> <page link="achinsk">Ачинск</page> </city_a>
HTML: <city_b name="Б"> <page link="balakovo">Балаково</page> <page link="balahna">Балахна</page> <page link="balashiha">Балашиха</page> <page link="balashov">Балашов</page> <page link="barnaul">Барнаул</page> <page link="bataisk">Батайск</page> <page link="belgorod">Белгород</page> <page link="belebey">Белебей</page> <page link="belovo">Белово</page> <page link="belgorock">Белогорск (Амурская область)</page> <page link="beloreck">Белорецк</page> <page link="belorechensk">Белореченск</page> <page link="berdsk">Бердск</page> <page link="berezniki">Березники</page> <page link="berezovskiy">Березовский (Свердловская область)</page> <page link="biisk">Бийск</page> <page link="biribidjan">Биробиджан</page> <page link="blagoveschensk">Благовещенск (Амурская область)</page> <page link="bor">Бор</page> <page link="borisoglebsk">Борисоглебск</page> <page link="borovich">Боровичи</page> <page link="bratsk">Братск</page> <page link="bryansk">Брянск</page> <page link="bugulma">Бугульма</page> <page link="budenovsk">Буденновск</page> <page link="buzuluk">Бузулук</page> <page link="buinaksk">Буйнакск</page> </city_b> --- Добавлено --- и уменьшить код: PHP: echo "<tr> <td width='25%'><ul>"; if(!empty($xml->city_d->page)) { $agrs = $xml->city_d->page; foreach ($agrs as $vals) { echo "<li><a href='$vals[link]' class='link2'>$vals</a></li>"; } } echo "</ul></td><td width='25%'><ul>"; if(!empty($xml->city_e->page)) { $agrs = $xml->city_e->page; foreach ($agrs as $vals) { echo "<li><a href='$vals[link]' class='link2'>$vals</a></li>"; } } echo "</ul></td><td width='25%'><ul>"; if(!empty($xml->city_j->page)) { $agrs = $xml->city_j->page; foreach ($agrs as $vals) { echo "<li><a href='$vals[link]' class='link2'>$vals</a></li>"; } } echo "</ul></td><td width='25%'><ul>"; if(!empty($xml->city_z->page)) { $agrs = $xml->city_z->page; foreach ($agrs as $vals) { echo "<li><a href='$vals[link]' class='link2'>$vals</a></li>"; } } echo "</ul></td> </tr> <tr> <td width='25%'><ul>"; if(!empty($xml->city_i->page)) { $agrs = $xml->city_i->page; foreach ($agrs as $vals) { echo "<li><a href='$vals[link]' class='link2'>$vals</a></li>"; } } echo "</ul></td><td width='25%'><ul>"; if(!empty($xml->city_k->page)) { $agrs = $xml->city_k->page; foreach ($agrs as $vals) { echo "<li><a href='$vals[link]' class='link2'>$vals</a></li>"; } } echo "</ul></td><td width='25%'><ul>"; if(!empty($xml->city_l->page)) { $agrs = $xml->city_l->page; foreach ($agrs as $vals) { echo "<li><a href='$vals[link]' class='link2'>$vals</a></li>"; } } echo "</ul></td><td width='25%'><ul>"; if(!empty($xml->city_m->page)) { $agrs = $xml->city_m->page; foreach ($agrs as $vals) { echo "<li><a href='$vals[link]' class='link2'>$vals</a></li>"; } } echo "</ul></td> </tr> <tr> <td width='25%'><ul>"; if(!empty($xml->city_n->page)) { $agrs = $xml->city_n->page; foreach ($agrs as $vals) { echo "<li><a href='$vals[link]' class='link2'>$vals</a></li>"; } } echo "</ul></td><td width='25%'><ul>"; if(!empty($xml->city_o->page)) { $agrs = $xml->city_o->page; foreach ($agrs as $vals) { echo "<li><a href='$vals[link]' class='link2'>$vals</a></li>"; } } echo "</ul></td><td width='25%'><ul>"; if(!empty($xml->city_p->page)) { $agrs = $xml->city_p->page; foreach ($agrs as $vals) { echo "<li><a href='$vals[link]' class='link2'>$vals</a></li>"; } } echo "</ul></td><td width='25%'><ul>"; if(!empty($xml->city_r->page)) { $agrs = $xml->city_r->page; foreach ($agrs as $vals) { echo "<li><a href='$vals[link]' class='link2'>$vals</a></li>"; } } echo "</ul></td> </tr> <tr> <td width='25%'><ul>"; if(!empty($xml->city_s->page)) { $agrs = $xml->city_s->page; foreach ($agrs as $vals) { echo "<li><a href='$vals[link]' class='link2'>$vals</a></li>"; } } echo "</ul></td><td width='25%'><ul>"; if(!empty($xml->city_t->page)) { $agrs = $xml->city_t->page; foreach ($agrs as $vals) { echo "<li><a href='$vals[link]' class='link2'>$vals</a></li>"; } } echo "</ul></td><td width='25%'><ul>"; if(!empty($xml->city_u->page)) { $agrs = $xml->city_u->page; foreach ($agrs as $vals) { echo "<li><a href='$vals[link]' class='link2'>$vals</a></li>"; } } echo "</ul></td><td width='25%'><ul>"; if(!empty($xml->city_f->page)) { $agrs = $xml->city_f->page; foreach ($agrs as $vals) { echo "<li><a href='$vals[link]' class='link2'>$vals</a></li>"; } } echo "</ul></td> </tr>
@leon2009, как же трудно из тебя вытягивать информацию. FILE.xml откуда? Со стороннего ресурса или состряпанный собственными руками?
не получаеться = везде выдает категорию А - как прочитать с категории от А до Я? PHP: <?php $xml = simplexml_load_file("xml/db.xml") or die("Error: Cannot create object"); $rows = 2; // количество строк, tr $cols = 4; // количество столбцов, td echo '<table border="1">'; for ($tr=1; $tr<=$rows; $tr++) { echo '<tr>'; for ($td=1; $td<=$cols; $td++){ echo '<td>'; if(!empty($xml->city_a->page)) { $agrs = $xml->city_a->page; foreach ($agrs as $vals) { echo "<li><a href='$vals[link]' class='link2'>$vals</a></li>"; } } echo '</td>'; } echo '</tr>'; } echo '</table>'; ?>
Это самое страшное, что я ожидал услышать. Похоже у нас "проблема молотка" с "эффектом матрёшки" Готовься к основательной дискуссии
все так тяжко??? ..... я кроме текстового блокнота больше ничего не использую. получилось в прошлый раз: копия дрома, только все хранилось в текстовиках
@leon2009, вот смотри. XML - это грубо говоря формат обмена данными. Представь ситуацию, что ты нумизмат. И друг твой тоже нумизмат. Ты идёшь к другу и вы меняетесь монетами. Это нормально. Все нумизматы так делают. А теперь представь ситуацию, что ты никуда не идёшь. Сидишь дома и меняешься монетами сам с собой. Звучит странно, не так ли? Вторая странность заключается в том, что писать xml руками - это как секс "без дивчины". XML обычно генерируется скрипом, с одной лишь целью, куда-нибудь его сбагрить. Нет смысла писать руками xml, что бы потом преобразовать его в html. Почему сразу теми же руками не написать html. Это отчасти тоже странно, но гораздо менее. Но даже если всё вышенаписанное взять и сжечь, то всё равно я тебя огорчу, тем что есть определённые правила написания корректного XML и там их жуть как много. city_a и city_b - это уже петля на шею. Различного атрибута name более чем достаточно.
PHP: $xml = simplexml_load_file("xml/db.xml") or die("Error: Cannot create object"); foreach ($xml as $worker) { echo $worker->page,"\n"; выдает только первое слово из списка т.е. Абакан Балаково Великие Луки Гатчина Дербент Евпатория Железногорск (Красноярский край) Заречный Иваново Казань Лабинск Магадан Набережные Челны Обнинск Павлово Раменское Салават Таганрог
PHP: foreach(glob('papka/*.txt') as $filename) { $file_handle = fopen($filename, "r"); while (!feof($file_handle)) { $line = fgets($file_handle); echo $line; } fclose($file_handle); } как все слова на А вставить в одну табличку, все на Б в другую табличку html?
PHP: <?php $xml = simplexml_load_file("xml/db.xml") or die("Error: Cannot create object"); echo "<table align=center border=0 cellpadding=8 cellspacing=8 width=80% class=link2> "; if(!empty($xml->link->page)) { $agrs = $xml->link->page; foreach ($agrs as $vals) { echo "<tr><td><a href=$vals[name] class=link2>$vals</a></td></tr>"; } } echo "</table>"; ?> не получается, таблица должна выходить 4 на 4