2010-03-02 6 views
0

(или Вот код первой необходимости:В PHP xmlparser, почему я не могу хранить глобальное значение из моего character_data_handler()?

$host = ""; 
... 
xml_set_character_data_handler($xmlparser, "tagContents"); 
... 
function tagContents($parser, $data) { 
    global $current; 
    global $host; 
    if ($current == "HOST") { 
     $host = $data;   // Trying to store a global here 
    } 
    if ($current == "PATH") { 
     echo $host.$data;  // But its null when I get here. WHY?? 
    } 
} 

Я пытаюсь добавить путь для размещения, как это, чтобы создать URL в одну строку, так как XMLPARSE помещает символ новой строки после каждого эхо Так поочередно, если кто-нибудь. может сказать мне, как предотвратить перевод строки, что бы решить мою проблему слишком

Кстати:

  • Я также попытался ссылки на супер-глобальный $ GLOBALS [ «хозяина»] с тем же результатом
  • я только PHP4 доступных от моего хоста-сервера (otherwise I'd use SimpleXML)

Спасибо, боба

ответ

0

Попробуйте использовать суперглобальный $ GLOBALS [ 'хост'] его быстрее, в любом случае. Вот ваш фиксированный код

$host = ""; 
... 
xml_set_character_data_handler($xmlparser, "tagContents"); 
... 
function tagContents($parser, $data) 
{ 
    global $current; 

    if ($current == "HOST") { 
     $GLOBALS['host'] = $data;   // Trying to store a global here 
    } 
    if ($current == "PATH") { 
     echo $GLOBALS['host'].$data;  
    } 
} 
+0

Спасибо, но я попробовал это также с теми же результатами. –

 Смежные вопросы

  • Нет связанных вопросов^_^