Hi!
Maybe, I'm not so correct, or something else, but..... Try to run the
script (php 4.0.6-dev).
Compiled with:
./configure --with-sablot
--with-dom --with-gettext --with-jpeg-dir=/usr --with-pops
--with-xml=/usr/local --with-gdbm=/usr/local --enable-gd-native-ttf
--with-gd --with-freetype-dir --with-mysql=/usr/local/mysql
--with-png-dir=/usr/local --enable-sysvshm=yes --enable-sysvsem=yes
--enable-debug=no
gcc, linux, glibc2*, latest sablot, expat, etc.
----------------------- Script --------------------
<?
$Bad=0; // try to set it to 1 for segfault
$taggz[0]="table_here";
$taggz[1]="mydir";
$functinz['table_here']="my_func";
$functinz['mydir']="my_func";
error_reporting(E_ALL);
Function my_func($atr){
echo("Variable:-----");
var_dump($atr);
}
class my_xml {
var $functinz;
var $tagz;
var $parser;
var $parzed;
function tag_open($parser,$tag,$attribz) {
echo("+++++tagopen\n");
$atr=$attribz;
if(in_array($tag,$this->tagz))
{
echo("Bad girlz\n");
// var_dump($atr);
echo("KKKKKKKK\n");
$this->parzed.="Qtes";
//call_user_func($this->functinz[$tag],$atr);
} else {
$this->parzed.="<$tag";
if (isset($atr)) {
echo("Bag giez\n");
// var_dump($atr);
if(is_array($atr))
{
echo("AAAAAAAAAAAAAAAAAAAAAAAAAAAAA\n");
while (list($k, $v) = each($atr)) {
$this->parzed.=" $k=\"$v\"";
}
}
} // is set
$this->parzed.=">";
} // else
echo("End\n");
}
function my_xml(&$tags, &$func_array) {
global $Bad;
$this->parzed="";
$this->parser = xml_parser_create();
if($Bad) xml_set_object($this->parser,&$this);
xml_set_element_handler($this->parser,"tag_open","tag_close");
xml_set_character_data_handler($this->parser,"cdata");
xml_parser_set_option($this->parser, XML_OPTION_CASE_FOLDING, false);
$this->functinz=&$func_array;
$this->tagz=&$tags;
}
function cdata($parser,$cdata) {
echo("+++++d\n");
$this->parzed.=$cdata;
}
function tag_close($parser,$tag) {
echo("+++++tagclose\n");
if(in_array($tag,$this->tagz)) {
} else {
$this->parzed.="</$tag>";
}
}
function parze($data) {
xml_parse($this->parser,$data);
return $this->parzed;
}
}
$a=new my_xml($taggz,$functinz);
if(!$Bad) xml_set_object($a->parser,&$a);
$e=$a->parze("
<doka>
<a href=\"http://www.kiae.su\">Buka
<table_here ID=\"958955897\">fgkljgkljgkljg</table_here>
</a>
<table_here ID=\"3\">fkfjhjkhkjhkjfhff</table_here>
\n");
xml_parser_free($a->parser);
echo($e);
echo("HHHHHHHHHHHHHHHHHHHHHHHHH\n");
?>
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]