За последние 24 часа нас посетили 22507 программистов и 998 роботов. Сейчас ищут 657 программистов ...

explode() для расширения xpath выражения возвращает строку

Тема в разделе "Прочие вопросы по PHP", создана пользователем yaroslav.levchuk, 23 июн 2020.

Метки:
  1. yaroslav.levchuk

    yaroslav.levchuk Активный пользователь

    С нами с:
    29 ноя 2014
    Сообщения:
    5
    Симпатии:
    0
    Всем привет!
    Как известно php поддерживает только xpath 1.0
    Задача: разбить строку по разделителю(xpath 1.0 не умеет tokenize, а куча substring-after будет проблемой для конечного пользователя). Решил подключить функции php, юзнул explode, но вот беда, вместо массива возвращается строка Array.
    Ниже упрощенная версия кода
    PHP:
    1. $this->xpath = new DOMXpath($dom);
    2.         $this->xpath->registerNamespace("php", "http://php.net/xpath");
    3.         $this->xpath->registerPHPFunctions("explode");
    4. $list = $this->xpath->evaluate($expression, $context);
    Контекст правильный, при использовании выражения td возвращается строка, все норм
    Выражение вот такое использую и ожидаю на выходе массив, а получаю строку php:functionString("explode",",",td)
    Помогите советом.