- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Mi nincs, grafén akku van: itt a Xiaomi 11T és 11T Pro
- CMF Phone 2 Pro - a százezer forintos kérdés
- Honor 400 - és mégis mozog a kép
- Milyen okostelefont vegyek?
- Google Pixel topik
- Motorola Moto Tag - nyomom, követ
- iPhone topik
- Bemutatkozott a Poco X7 és X7 Pro
- eSIM, a kártyamentes szabadság
Új hozzászólás Aktív témák
-
cucka
addikt
válasz
Balint133 #4504 üzenetére
Természetesen webmestertől meg lehet kérdezni, de ezt nem nagyon szokták bekapcsolgatni.
Általában ssh tunnel-t adnak erre a célra.Ezzel a stringgel azt kéne csinálni, hogy minden betűt és vesszőt, írásjelet mindent kiszedni belőle, csak a számok maradjanak vissza.
$szamok=preg_replace('/\D/','',$str);
-
-
fordfairlane
veterán
válasz
Balint133 #2914 üzenetére
Ha lehet, próbáld meg elkerülni a konvertálást. Ha az egész oldal ISO 8859-2-ben van, és az adatbázis is erre van beállítva, akkor használd azt, ha UTF-8, akkor inkább maradj annál. A böngészőknek nem jelent problémát az UTF-8 kezelése, és meg van az az előnye, hogy mindenféle idegen nyelvek karaktereit is jól kezeli.
-
fordfairlane
veterán
válasz
Balint133 #2911 üzenetére
Böngésző és szerverbeállítástól is függ, hogy alapból milyen kódlapot használ a böngésző a megjelenítéshez, ezért inkább érdemes megadni azzal a meta taggal. Egyébként az utf8_decode-t nem ajánlom, ha jól rémlik iso8859-1-re konvertál, és emiatt az "ő - ű" karaktereknél probléma lehet. Használj UTF-8-at.
-
-
válasz
Balint133 #2905 üzenetére
Oh, basszus, bocs, elnéztem, fsockopen()-nel lehet felülbírálni csak a user agent stringet.
Remélem a fsockopen() függvény nincs letiltva.
Mindjárt írom a scriptet.
szerk: Oh mégis megy azzal? Akkor jó. Pedig már majdnem kész voltam az fsockopen()-es verzióval.
Nincs mit!
Azért leírom minnyá a fsockopen()-féle verziót is, lehet majd másnak jól jön.
-
Balint133
aktív tag
válasz
Balint133 #2905 üzenetére
Wopsz lejart sajnos az idolimit...
nos koszonom az eddigi segitsegedet, sikerult mukodesre birnom fopen()-nel is
az ini_set bevalt...
ime a kod aki esetleg meg hasonlo problemaba utkozott volna:
function xml2array($url, $get_attributes = 1, $priority = 'tag')
{
ini_set('user_agent',$_SERVER['HTTP_USER_AGENT']); //mozilla eseteben ez: 'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.1) Gecko/20090715 Firefox/3.5.1'
$contents = "";
if (!function_exists('xml_parser_create'))
{
return array ();
}
$parser = xml_parser_create('');
if (!($fp = @ fopen($url, 'rb')))
{
return array ();
}
while (!feof($fp))
{
$contents .= fread($fp, 8192);
}
fclose($fp);
xml_parser_set_option($parser, XML_OPTION_TARGET_ENCODING, "UTF-8");
xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
xml_parse_into_struct($parser, trim($contents), $xml_values);
xml_parser_free($parser);
if (!$xml_values)
return; //Hmm...
$xml_array = array ();
$parents = array ();
$opened_tags = array ();
$arr = array ();
$current = & $xml_array;
$repeated_tag_index = array ();
foreach ($xml_values as $data)
{
unset ($attributes, $value);
extract($data);
$result = array ();
$attributes_data = array ();
if (isset ($value))
{
if ($priority == 'tag')
$result = $value;
else
$result['value'] = $value;
}
if (isset ($attributes) and $get_attributes)
{
foreach ($attributes as $attr => $val)
{
if ($priority == 'tag')
$attributes_data[$attr] = $val;
else
$result['attr'][$attr] = $val; //Összes attribútum elhelyezése egy tömbben aminek a neve: 'attr'
}
}
if ($type == "open")
{
$parent[$level -1] = & $current;
if (!is_array($current) or (!in_array($tag, array_keys($current))))
{
$current[$tag] = $result;
if ($attributes_data)
$current[$tag . '_attr'] = $attributes_data;
$repeated_tag_index[$tag . '_' . $level] = 1;
$current = & $current[$tag];
}
else
{
if (isset ($current[$tag][0]))
{
$current[$tag][$repeated_tag_index[$tag . '_' . $level]] = $result;
$repeated_tag_index[$tag . '_' . $level]++;
}
else
{
$current[$tag] = array (
$current[$tag],
$result
);
$repeated_tag_index[$tag . '_' . $level] = 2;
if (isset ($current[$tag . '_attr']))
{
$current[$tag]['0_attr'] = $current[$tag . '_attr'];
unset ($current[$tag . '_attr']);
}
}
$last_item_index = $repeated_tag_index[$tag . '_' . $level] - 1;
$current = & $current[$tag][$last_item_index];
}
}
elseif ($type == "complete")
{
if (!isset ($current[$tag]))
{
$current[$tag] = $result;
$repeated_tag_index[$tag . '_' . $level] = 1;
if ($priority == 'tag' and $attributes_data)
$current[$tag . '_attr'] = $attributes_data;
}
else
{
if (isset ($current[$tag][0]) and is_array($current[$tag]))
{
$current[$tag][$repeated_tag_index[$tag . '_' . $level]] = $result;
if ($priority == 'tag' and $get_attributes and $attributes_data)
{
$current[$tag][$repeated_tag_index[$tag . '_' . $level] . '_attr'] = $attributes_data;
}
$repeated_tag_index[$tag . '_' . $level]++;
}
else
{
$current[$tag] = array (
$current[$tag],
$result
);
$repeated_tag_index[$tag . '_' . $level] = 1;
if ($priority == 'tag' and $get_attributes)
{
if (isset ($current[$tag . '_attr']))
{
$current[$tag]['0_attr'] = $current[$tag . '_attr'];
unset ($current[$tag . '_attr']);
}
if ($attributes_data)
{
$current[$tag][$repeated_tag_index[$tag . '_' . $level] . '_attr'] = $attributes_data;
}
}
$repeated_tag_index[$tag . '_' . $level]++; //0 és 1 indexek
}
}
}
elseif ($type == 'close')
{
$current = & $parent[$level -1];
}
}
return ($xml_array);
}
$array = xml2array("http://eu.wowarmory.com/guild-info.xml?r=Nordrassil&gn=Solidarity"); -
válasz
Balint133 #2902 üzenetére
Hm. Nekem megy a curl-ös szkripted.
tettem a végére egy print_r($output); sort és lám: [link]
Szóval úgy néz ki igazam volt.
szerk: beírtam useragent-nek, hogy "PHP ds,fjhadgjhd" és máris HTML-t kaptam. Szóval ini_set()-elj, vagy még van egy másik megoldás is itt, ha tiltva van az init_set() függvény.
-
válasz
Balint133 #2902 üzenetére
Húb@sszameg!
Ez esetén, lehet arról van akkor szó, hogy ha a browser támogatja az xsl-t, akkor ezt az xml-t küldi el - így kevesebb procit zabál. De mivel az fopen()-be a user agent string "PHP", ezért már eleve transzformálva adja az oldalt, mert ez egy ismeretlen "browser", ami lehet nem tud xsl-t.
javaslat:
ini_set('user_agent',[írd ide a mozilláét]);
S akkor lehet menni fog.
szerk: ja most nézem curllel se megy...
Lehet még valami plusz infó kell neki a böngészőről... -
válasz
Balint133 #2900 üzenetére
curl meg rendesen beolvassa onnan? Vagy azt nem is próbáltad? Most ezt nem értem. Mert ha azt nem próbáltad, akkor szinte 100% hogy Javascript.
Szóval nagyon javascript gyanús a kód, minnyá meglesem.
A header()-rel kapcsolatban meg hülyeséget írtam, mert követi azokat az fopen().
szerk: nem találtam semmit...
Tiltsd le a JS-t a böngésződben és úgy nézd meg mit kapsz.
szerk2: Az oldalon nincs olyasmi pl, hogy "katt ide ha nem indul el a letöltés"?
-
válasz
Balint133 #2893 üzenetére
fopen() függvény? ez jó URL-re is, meg sokmindenre - feltéve hogy a szolgáltató engedi.
Vagy esetleg FTP függvények?Amúgy PHP4 van ott csak? Mert látom a legfapadosabb xml-parsert használod. Ja és amúgy parse-re van egy szép magyar szó: ÉRTELMEZ.
(#2892) t-shirt: SWF nem lenne jó? GIF-szerkesztőről még nem hallottam - szerintem a liszensz miatt nem is lenne ingyen.
-
ArchElf
addikt
válasz
Balint133 #2109 üzenetére
Azért, mert nem
if ( isset($username) && isset($password) && isset($name) ) database_increase( $username, $password, $name);
else form_create();hanem
if ( isset($_POST['username']) && isset($_POST['password']) && isset($_POST['name']) ) database_increase( $_POST['username'], $_POST['password'], $_POST['name']);
else form_create();AE
Új hozzászólás Aktív témák
Hirdetés
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Argos: Szeretem az ecetfát
- Formula-1
- Intel Core Ultra 3, Core Ultra 5, Ultra 7, Ultra 9 "Arrow Lake" LGA 1851
- RETRO beárazás (mobil, PC, konzol)
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Mi nincs, grafén akku van: itt a Xiaomi 11T és 11T Pro
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Ez már a középkategória: teszten a GeForce RTX 5070
- CMF Phone 2 Pro - a százezer forintos kérdés
- További aktív témák...
- LG 65QNED86T / 65" - 164 cm QNED / 4K UHD / 120Hz & 3ms / HDR 10 Pro / FreeSync Premium / HDMI 2.1
- SzoftverPremium.hu
- Felújított szerverek, storage-ok, hálózati eszközök Enterprise szinten, minden gyártótól
- Realme 7i 64GB, Kártyafüggetlen, 1 Év Garanciával
- BESZÁMÍTÁS! Gigabyte A620M R5 7600 32GB DDR4 512GB SSD RTX 5060 Ti 16GB Zalman i3 NEO Enermax 650W
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged