Помощ за file_get_contents

maxaffey

Registered
Здравейте,

имам един скрипт с който взимам данни от друг сайт с "file_get_contents" .

Взимам част от данните с "preg_match_all", изчиствам ненужните неща с "ereg_replace" и ги записва в MySQL таблица.

До тук добре но ми трябва да направя още две неща, но незнам функциите (ако изобщо има такива).

та:

1. от едната променлива, която получавам извличам нужния ми текст, но се взима два пъти и между тях има знака "?" , т.е. получавам примерно: text1?text1.

та питането ми е, може ли да се изчисти целия текст след знака"?" и да ми остане само първия текст?

2. друга променлива, която получавам ми взима данни и като ги записва в таблицата се записват на три реда, примерно"

danni1
danni2
danni3


та искам да взимам всеки ред и да ми го записва в друга променлива и съответно така в друга колона от таблицата.

Тук това може да става по два начина, но и двата нещо немога да ги направя. Единят е да взима всеки ред и да го прави в променлива, а вторият е да брои знаците през 4 и да слага в първата променлива първите 4 знаци, съответмо във втората променлива знаците от 5-8 и в третата знаците от 9-12.

Мерси на всички отзовали се.
 
По точка 2 се оправих :D , става с "substr($nova_promenliva[$i], 0, 4);"

и така ми взима първите 4 символа от променливата и съответно после става и за другите 2!
 
с функцията explode ще стане номера.

PHP:
$text = "text1?text2";
$new = explode('?', $text);

$new вече е масив и за да изкараш първия текст примерно пишеш

PHP:
echo $new[0];

за втория

PHP:
echo $new[1];
и така колкото текста имаш.
 
А по точка 1 пробвай така:

PHP:
<?php
$text = "text1?text2faf123f1";
$text = explode("?",$text);
echo $text[0];
?>

EDIT: е изпревариха ме ;)
 
Мерси и на двамата, но нещо не ми става, защото вече променливите са в масив, т.е. имам:

Код:
$broi = count($mach); 
$i++; 

for($i=0;$i<=$broi;$i++)
{
$mach[$i] = ereg_replace("	", "", $mach[$i]);

$sql = "INSERT INTO `EF10` (`id`,`mach`) VALUES (NULL, '$mach[$i]');";
echo $result = mysql_query($sql) or die(mysql_error());

}

т.е. незнам точно как да включа новия масив:

пробвам:

Код:
$mach[$i] = explode("?",$mach[$i]);
$mach[$i] = $mach[0];

но нещо не става
 
maxaffey каза:
Мерси и на двамата, но нещо не ми става, защото вече променливите са в масив, т.е. имам:

Код:
$broi = count($mach); 
$i++; 

for($i=0;$i<=$broi;$i++)
{
$mach[$i] = ereg_replace("	", "", $mach[$i]);

$sql = "INSERT INTO `EF10` (`id`,`mach`) VALUES (NULL, '$mach[$i]');";
echo $result = mysql_query($sql) or die(mysql_error());

}

т.е. незнам точно как да включа новия масив:

пробвам:

Код:
$mach[$i] = explode("?",$mach[$i]);
$mach[$i] = $mach[0];

но нещо не става
присвои го на нова променлива. Замисли се в момента какво правиш и ще си разбереш грешката

П.П. Можеш да обходиш масива с foreach и целия ти код става така

PHP:
foreach($mach as $m){
$m = ereg_replace("	", "", $m);
$m = explode('?', $m);
$sql = "INSERT INTO `EF10` (`id`,`mach`) VALUES (NULL, '$m');";
echo $result = mysql_query($sql) or die(mysql_error());

}
 

Back
Горе