ugrás a tartalomhoz

Archívum - Jún 2006

június 28

Keresés egy tömb elemei között

Anonymous · 2006. Jún. 28. (Sze), 15.24
Sziasztok!

Van egy rakás xml állományom egy könyvtárban. Ezek között kéne keresnem a filenevük alapján.
Azt megcsináltam eddig, hogy beolvasom egy tömbbe a könyvtár file-jait és mivel egy szabály alapján épült fel a nevük eddig tökéletesen ment a keresés, azonban jött egy kis bonyodalom. Most azonban változtattak a szabályokon...
Szóval, így fest most egy filenev:
AAA123_060628_xxxxxx.xml

Az xxxxxx helyén tetszőleges számok állhatnak, 5 vagy 6 számjegy. És a keresésénél az összes eredményt meg kéne találnom.

Ha nem elég érthető, akkor:
megadja a felhasználó a keresési feltételt, pl: AAA123 és dátum 060628.
Ez alapján meg kéne találnom az összes olyan xml-t, amelynek a fileneve tartalmazza ezt a sztringet: AAA123_060628.

Remélem érthető voltam. :) Várom az ötleteket. Köszi!
 

Build Your Own AJAX Web Applications

Anonymous · 2006. Jún. 28. (Sze), 14.32
Alapos és terjedelmes cikk az AJAX-ról
 

Location() ugrás AJAX-os betöltés után

Anonymous · 2006. Jún. 28. (Sze), 13.41
Hello!

Éppen egy blog motort írok, amely használ AJAX-ot is. Eddig semmi gond, a bejegyzések, kommentek betöltése, minden szép is jó. A probléma ott kezdődik amikor az egyik kommentre akarok ugrani. Ugyebár ezt pl egy "#2"-vel meg is tehetném, de az a gond, hogy AJAX-al betöltött tartalom esetén ez nem működik.
Kitaláltam, hogy akkor miután betöltöttem a kommenteket egy location('#2')-vel odaugrok a 2-es ID-jű kommentre. Ez működne is, csak az a probléma hogy a location még azelőttlefut, hogy az AJAX a tartalmat betöltené a divbe.
Tehát a lényeg az, hogy hogyan tudnám azt elérni, hogy a location csak a div betöltése után fusson le?

Íme a kód:

var AJAX_R = false;

function ajax(func,message){
	document.getElementById("content").innerHTML = '<div class="ajax-loading"><!-- Betöltés --></div>';
	if (window.XMLHttpRequest){
      AJAX_R = new XMLHttpRequest();
	}
	else if(window.ActiveXObject){
      AJAX_R = new ActiveXObject("Microsoft.XMLHTTP");
	}
	if(func == 'bejegyzesek') { AJAX_R.onreadystatechange = AJAXProcess_Content; }
	if(func == 'kommentek') { AJAX_R.onreadystatechange = AJAXProcess_Content; }
    AJAX_R.open("GET","funkciok/ajax.php?func="+func+"&"+message,true); 
    AJAX_R.send(null);
 }

function AJAXProcess_Content() {
  if (AJAX_R.readyState == 4) {
    document.getElementById("content").innerHTML = AJAX_R.responseText;
  }
}
Az eredeti AJAX-os kódot nem én írtam egy jóbarátomtól kaptam. Nos megpróbáltam azt, hogy a document.getElementById("content").innerHTML = AJAX_R.responseText; után adom meg a location-t. Ez így okés is volt, viszont ha az AJAXProcess_Content()-nek adok egy bemeneti változót, pl: AJAXProcess_Content(komment_id), akkor már nem hajlandó működni. Pontosabban tölt tölt, de nem jön be a tartalom. Ebben szeretném a segítségeteket kérni.

A honlap: http://fishblog.fishworks.hu (Bal oldalt van a kommentek rész)

preg_replace_callback // Type 2: Static class method call

toxin · 2006. Jún. 28. (Sze), 13.06
kérdés

<?php
$sampleText = 'aaa 123 bbb';

class fooFind{
    function fooFind($text){
        $this->origText = $text;
        preg_replace_callback('/[\d]+/',array('fooFind','printFind'),$this->origText);
    }

    function printFind($matchedText){
        echo 'Eredeti:'.$this->origText."\n";
        echo 'Találat:'.$matchedText[0]."\n";
    }
}

$myFoo = new fooFind($sampleText);
?>
a printFind callback függvényben/metódusban elérhető-e vhogy az eredeti a hívó objektum ill objattrib (esetünkben a $this->origText), vagy marad az eval-os megoldás ?

<?php
$sampleText = 'aaa 123 bbb';

class fooFind{
    function fooFind($text){
        $this->origText = $text;
        preg_replace('/[\d]+/e','$this->printFind(\'\\0\')',$this->origText);
    }

    function printFind($matchedText){
        echo 'Eredeti:'.$this->origText."\n";
        echo 'Találat:'.$matchedText."\n";
    }
}

$myFoo = new fooFind($sampleText);
?>
kössz a választ
 

Xml lehívási távoli gépről és elemzése

Anonymous · 2006. Jún. 28. (Sze), 12.27
Üdv!

Lenne egy ksi gondom xml kezeléssel kapcsolatban:

itt a php kód egy része:

és az a bajom hogy a szerver átad egy ilyen paramétert mikor lehívom
a stats.xml-t

HTTP/1.1 200 OK
Server: WoWEmu
Connection: Close
Content-length: 7601
Content-type: text/xml

nos ez eddig ok is, ezt meg próbálom kiszedni a preg_replace-val,
de a \n vagy is az üres sorok bennmaradnak és így sajnos nem elemzni...

<?php

$server = "169.254.201.102";

$f = @fsockopen($server, 8080, $err, $errstr, 5);

$query = "GET /stats.xml\r\n";
$query .= "Host: www.php.net\r\n\r\n";

function abc() {
global $f;
global $b;
while ($lap = fgets($f, 1024)) {
$b .= $lap;
}
}

if ($f) {

fwrite($f, $query);



abc();

$c = NULL;



$b = preg_replace("/Server([ a-zA-Z0-9\.\:]*)/", $c, $b);
$b = preg_replace("/HTTP\/([ a-zA-Z0-9\.\:]*)/", $c, $b);
$b = preg_replace("/Connection([ a-zA-Z0-9\.\:]*)/", $c, $b);
$b = preg_replace("/Content-length([ a-zA-Z0-9\.\:]*)/", $c, $b);
$b = preg_replace("/Content-type([ a-zA-Z0-9\.\:\/]*)/", $c, $b);


}

$parser = xml_parser_create();

xml_set_element_handler($parser, "start_tag", "end_tag");
xml_set_character_data_handler($parser, "chd_tag");
xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);



print $xmla = $b;

$xml = $xmla;



xml_parse($parser, $xml);

/* .... */

?>
Szerintetek hogy tudnám elérni hogy elemezze?
vagy pedig kivenni azt az infót amit a szerver küld?


Előre is kösszönöm...
 

Bot: john@company.com

vbence · 2006. Jún. 28. (Sze), 12.12
Halihó!

Ismerő valakinek a következő user-agent?
Mozilla/4.0 john##kukac##company.com

Letölti a robots.txt-t, és 30mp vagy 1 perc van mindig az oldalletöltések között. Mindig UPC-s címekről jön. Nincs sok baj vele, de így is rengeteg oldalletöltést generál.

A magyar (és más kelet-európai) botoknál kifejezetten ritka, hogy civilizált módon kontakt-címet adnának, amit a netikett biztosan, a szabályozások biztosan nem követelnek meg. Szóval egy oldalon, ami napi 200 látogatót számlál (igaz, átlagosan 6 letöltés/látogatóval), ugyanennyi (200) letöltést egy ismeretlen bottól mem szívesen szolgálok ki, főleg, ha nem tudom hova kerül (talán tango.hu?).

Szóval ha valaki tud valamit erről a szörnyetegről, vagy tippet az azonosításra szivesen várom.

B
 

Codetch

Hojtsy Gábor · 2006. Jún. 28. (Sze), 10.55
Gecko alapú fájl szerkesztő
 

3 Things You Wish Clients Knew About the Web

zsepi · 2006. Jún. 28. (Sze), 10.52
Ha azt a pár dolgot tudnák, könnyebb lenne az életünk
 

június 28

Xml-ben egy addott tag előfordulásának megszámolása.

Anonymous · 2006. Jún. 27. (K), 22.20
Üdv!

LEnne egy kis problémám:

írtam egy xml kezelőt:

<?php

$parser = xml_parser_create();

xml_set_element_handler($parser, "start_handler", "end_handler");

xml_set_character_data_handler($parser, "character_handler");

xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);

$xml = file_get_contents("stat.xml");

xml_parse($parser, $xml);

xml_parser_free($parser);

function start_handler($parser, $tag, $type) {

}

function end_handler($parser, $tag) {

}

function character_handler($parser, $text) {

}

?>
Nos az a bajom hogy van egy olyan a <stat> tagen belül hogy <players>
és azon belül ha minél több játékos van akkor minnél több <player> tag, és én ezt szeretném megszámolni, de hogyan?

ezt próbáltam de nem jött be

function start_handler($parser, $tag, $type) {
while ($tag == "player") {
$a++;
}
print $a;
}
 

valid frameborder 0 cssből

mdesign · 2006. Jún. 27. (K), 17.09
Sziasztok!

Hogyan lehet megoldani, hogy egy frame-nek levegyem 0-ra az eltartását és keretet?

Sok próbálkozásom csak úgy ért el sikert, hogy a <frameset> kapott egy border="0" attribútumot.

Ez viszont nem valid.

A keretet el tudom tüntetni, de a helyén maradó pár pixeles eltartást csak így tudtam eltűntetni.

Üdv Karesz