bikebog
9.07.2009, 22:37:51
Witam.
Mam małe pytanko dot xPath:
$xpath->query("/Grzyby/Grzyb[contains(Nazwa, '$NazwaS')]");
Jeżeli w pliku XML mam coś takiego ...<Nazwa> Borowik Szlachetny</Nazwa>... a zmienna $NazwaS="Borowki" to uzyskam wynik TRUE i wyświetli mi szukany ciąg, natomiast gdy zmienna $NazwaS="borowki" to już nie znajdzie tego i wynik będzie FALSE, czyli nic nie znajduje?
Można to jakoś zrobić, by niezależnie od wielkości liter pokazywało wynik.
Proszę o pomoc.
Pozdrawiam.
bikebog
10.07.2009, 11:40:14
Za bardzo nie wiem jak to ze sobą połączyć, a jak wcześniej w xpatch próbowałem użyć funkcji lower-case() to wywalało mi błędy:
DOMXPath::query() [domxpath.query]: Invalid expressionczyli:<?
$xpath->query("/Grzyby/Grzyb[contains(lower-case(Nazwa), lower-case('$NazwaS'))]");
?>
?
tutaj
http://www.w3schools.com/xpath/xpath_functions.aspjest lista funkcji gdzie także występuje lower-case()
erix
10.07.2009, 13:12:54
A nie przypadkiem:
<?php
$xpath->query("/Grzyby/Grzyb/Nazwa[contains(lower-case(self), lower-case('$NazwaS'))]");
?>
?
bikebog
10.07.2009, 16:17:45
Warning: DOMXPath::query() [domxpath.query]: xmlXPathCompOpEval: function lower-case not found
Warning: DOMXPath::query() [domxpath.query]: Unregistered function
Warning: DOMXPath::query() [domxpath.query]: Invalid type
Także nie działa:(
Zrobiłem tak, ponieważ jak będą np. Dwa warunki Nazwa i Występowanie to już nic nie znajdzie.
No ale problem nadal występuje:( i nie znaduje nic , a na dodatek wyświetla powyższe błędy.
bikebog
10.07.2009, 22:01:20
Ok:)
Tutaj jest link do phpinfo:
moje phpinfo
erix
10.07.2009, 22:44:49
<?php
$movies = $xpath->xpath_eval("//movie[contains(translate(title,'abcdefghijklmnopqrstuvwxyz', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'), '".strtoupper($_REQUEST["search"])."')]"); ?>
bikebog
10.07.2009, 23:04:08
Fatal error: Call to undefined method DOMXPath::xpath_eval() - coś takiego wyświetla po użyciu tego kodu:(
erix
10.07.2009, 23:11:03
Ech, miałem na myśli samo zapytanie XPath, a nie całość...
bikebog
10.07.2009, 23:18:24
to działa
<?php
$movies = $xpath->query("/Grzyby/Grzyb/[contains(translate(Nazwa,'abcdefghijklmnopqrstuvwxyz', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'), '".strtoupper($_REQUEST["NazwaS"])."')]"); ?>
Dziękuję za pomoc:)