Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 20:42 04.07.25 
Компютри и Интернет
   >> PHP
*Кратък преглед

Тема Pattern Matching  
Автор phpstat (непознат )
Публикувано20.12.07 19:29



Здравейте!
Трябва ми помо6т за следният проблем:
Имам един TSV Фаил с йерархи4на структура (5 Нива Tree) и искам да екстрахирам структурате с PHP и да го сложа в XML и MySQL.
---------------------------------
Level1 folder date
Level2 folder date
Filename file date
Lelel3 folder date
Filename file date
----------------------------------
Вси4ко по4ва на нов ред и всяко по-долно ниво е с 4 разстояния по навътре.
Думите на всеки ред са разделени с Табулатор.

Пробвам с PREG_MATCH_ALL ама не става.
$r="/^\s{0}(\w+.*?)\t(\w+.*?)\t(\w+.*?)\s{4}(\w+.*?)/sim";
preg_match_all($r,$text,$level);
var_dump($level);

Как мога да сложа вси4ко в Multidimensional Arrays и после директно в XML като се запази структурата?

Благодаря предватително за всякаква помо6т!





Тема Re: Pattern Matchingнови [re: phpstat]  
Автор anastasd (непознат)
Публикувано21.12.07 17:24



Какво означава следното:
Вси4ко по4ва на нов ред и всяко по-долно ниво е с 4 разстояния по навътре.

Най-добре напиши малко примерно съдържание на файл (с \t, и \n, за да не стават грешки)

p.s. Пробвай това

<?php
function array_transform($array)
{
foreach($array as $key => $value)
{
if(!is_array($value))
{
$inc_xml .= "<$key>$value</$key>";
}
else
{
$inc_xml .= "<$key>";
$inc_xml .= array_transform($value);
$inc_xml .= "</$key>";
}
}
return $inc_xml;
}

$lines = file('res.tsv');

foreach ($lines as $line)
{
$tmp_array = explode("\t", $line);
$multi_array[$tmp_array[0]][$tmp_array[1]][$tmp_array[2]][$tmp_array[3]] = $tmp_array[4];
}
$xml = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><root>".array_transform($multi_array)."</root>";

echo $xml;
?>


<P ID="edit"><FONT class="small"><EM>Редактирано от anastasd на 21.12.07 19:51.</EM></FONT></P>

Редактирано от anastasd на 21.12.07 19:53.




*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2025 Dir.bg Всички права запазени.