Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php,xml] usuwanie rekordu z bazy XML
Forum PHP.pl > Forum > PHP
seaquest
mam taką bazę w XML

[xml:1:2b86d560ea]<?xml version='1.0' ?>
<ludzie>
<osoba dane='prawdziwe'>
<imie>Michał</imie>
<nazwisko>Płachta</nazwisko>
<wiek>17</wiek>
<email>seaquest@security.info.pl</email>
<www>http://security.info.pl</www>
</osoba>
<osoba dane='fikcyjne'>
<imie>Jan</imie>
<nazwisko>Kowalski</nazwisko>
<wiek>154</wiek>
<email>kowalski@example.com</email>
<www>http://example.com</www>
</osoba>
</ludzie>[/xml:1:2b86d560ea]

i chce, żeby skrypt php usuwał:

Cytat
<osoba dane='fikcyjne'>
...
</osoba>


czyli wyrażenia regularne ;-)
i jakoś mi się to nie udaje ;-)
moze mi ktos pomoc w dopasowaniu funkcji i wyrazenia :?:
czy stosowac
[php:1:2b86d560ea]<?php
ereg_replace("<osoba dane='fikcyjne'> co tutaj? </osoba>","",$zmienna_z_baza_xml);
?>[/php:1:2b86d560ea]

czy cos innego :?:

HELP ME :!: Nigdy nie lubilem wyrażeń regularnych... angrysmiley.gif
adwol
Cytat
moze mi ktos pomoc w dopasowaniu funkcji i wyrazenia :?:

[php:1:d2948333c9]<?php
preg_replace("/<osoba dane='fikcyjne'>.*?</osoba>/s", '', $zmienna_z_baza_xml);
?>[/php:1:d2948333c9]
Cytat
Nigdy nie lubilem wyrażeń regularnych... angrysmiley.gif

Czemu? To bardzo fajne i użyteczne narzędzie. smile.gif
seaquest
wszystko by bylo ok, ale

Cytat
Warning: Unknown modifier 'o' in /var/www/html/test.php on line 7
Seth
[php:1:7dd9fde4b0]preg_replace("/<osoba dane='fikcyjne'>.*?</osoba>/s", '', $zmienna_z_baza_xml);[/php:1:7dd9fde4b0]
seaquest
Seth jesteś wielki
BTW. Muszę się wziąć za te wyrażenia, nie widzieliście gdzieś jakiegoś dobrego kursu :?:
Nalfein][WR
Zamiast kursu ("dobrych" nie znam, krótki był na ygreg.com) mogę szczerze polecić Ci książkę "Wyrażenia regularne" z wydawnictwa O'Reilly. Powinna być w Helionie. Ok. 25 zł dałem 2 lata temu. Jest bardzo dobrze napisana, obok "Thinking in C++" najlepsza tego typu jaką czytałem. Traktuje o silnikach wyrażeń regularnych opisując NFA, DFA, POSIX (ereg w php) i Perl (preg w php) pod względem możliwości i wydajności. O tym ostatnim, czyli jak projektować wyrażenia pod względem szybkości, raczej nie znajdziesz w żadnych kursach.
seaquest
to trzeba będzie kupić książkę ;-)

a mam jeszcze jedno pytanie ;-)

[xml:1:06818580eb]<osoba dane='fikcyjne'>[/xml:1:06818580eb]

jak z tego wyciągnąć fikcyjne ;-)
adwol
Cytat
jak z tego wyciągnąć fikcyjne ;-)

[php:1:f6694cc004]<?php
preg_match('|<osoba dane='(.*?)'>|', $tekst, $m);
print $m[1];
?>[/php:1:f6694cc004]
seaquest
big thx
jutro lece po ksiazke "Wyrażenia Regularne" ;-)
Użytkownik
Dużo czyściejszym rozwiązaniem (i potężniejszym) jest DOM lub SAX.
DOM umożliwia poruszanie się po całym drzewie XML i modyfikowaniu go z pełną zgodnością z XML. Natomist SAX przydaje się przy konwertowaniu XML => XHTML.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.