سؤال
ما هي الجملة الصحيح لتطبيق وظائف سلسلة (على سبيل المثال "تطبيع الفضاء") على سمة باستخدام استعلام XPath أدناه؟
والاستعلام: "./وسائل الإعلام"
ورأيت الأمثلة على ذلك في أي مكان آخر ولكن إذا كنت تحاول ذلك باستخدام مكتبة كسباث فب انها تعود شيء ...
المحلول
الاستعلام () على كائن DOMXPath سوف <م > دائما م> يؤدي إلى (ملفوفة في DOMNodeList <-وضع العقدة / أ> الكائن)، لا في سلسلة.
وأنت لا يمكن سحب نتائج وظائف كسباث. يجب الاستعلام عن عقد تريد معالجة، ومعالجتها في PHP.
نصائح أخرى
تقييم () بدلا من ذلك من query()
. فإنه سيعود نتيجة كتبته. كان متوفرا منذ PHP 5.1.
$doc = new DOMDocument();
$xpath = new DOMXpath($doc);
$q = $xpath->evaluate('"test"');
var_dump($q);
والإخراج:
string(4) "test"
./[normalize-space(@media)
يرجى محاولة هذا.
وماذا عن هذا؟
normalize-space(./@media)
ويمكنك أيضا محاولة:
normalize-space(string(./@media))
ولكن أنا لا أعتقد أن هذا الضروره هنا.
لا تنتمي إلى StackOverflow