Forum CDRinfo.pl

Forum CDRinfo.pl (https://forum.cdrinfo.pl/)
-   Komputery - oprogramowanie i sprzęt (https://forum.cdrinfo.pl/f113/)
-   -   Wyrażenia regularne i zamienianie... (https://forum.cdrinfo.pl/f113/wyrazenia-regularne-zamienianie-92517/)

andy 02.04.2014 19:16

Sprawa już nieaktualna ale dzięki!

Zrobiłem to troszeczkę inaczej :)

kid86 01.04.2014 16:08

@andy
A pomiędzy tymi ciągami są spacje? Jeżeli tak, to można to pociąć względem spacji:
Kod:

$arr = explode(" ", $zmienna);
Potem jeżeli tablica ma 5 węzłów:
Kod:

if(count($arr)==5)
to wyciągnij węzeł 3 oraz 4
Kod:

echo $arr[3].' '.$arr[4]
I podobnie dla drugiego wariantu

andy 08.03.2014 20:17

  1. Cytat:

    [Napis1] Napis2 Napis3 [Napis4 Napis5]
  2. Cytat:

    [Napis1] Napis2 Napis3

Potrzebuję w PHP za pomocą wyrażeń regularnych wyciągnąć dla pierwszego przypadku Napis4 i Napis5, i dla drugiego przypadku Napis2 i Napis3.

Ktoś ma pomysł jak się do tego zabrać? Dodam, że zmienną którą chcę obrobić może mieć raz pierwszą formę, a raz drugą.
Dodam jeszcze, że w pierwszym jak i w drugim przypadku Napis1 jest zawsze stały.

Smartek 08.07.2013 09:15

Bartez i Nimal zrozumieli poprawnie :). Bartez, dziękuję za pomoc.

pali8 04.07.2013 12:09

Smartek, przed operacją na XML możesz otworzyć plik w Opera. Dość dobrze sprawdza poprawność XML i dzięki temu regexp niczego nie utnie.

nimal 04.07.2013 10:47

Smartek raczej chcial wyszukac wszystkie wyrazenia w danych tagach i usunac to, co jest pomiedzy tagami
dlatego potrzebowal uzycia wyrazen globalnych ;)
tym samym wyszukiwanie fragmentu taga raczej nie pomoze ;)

Berion 04.07.2013 10:08

Chodzi mi o to, że Smartek szukał "<Telefon>xxx</Telefon>" (rozumiem, że w miejsce xxx coś wpisał). Ale skoro takie wyrażenie może w pliku nie występować we właśnie takiej postaci, powinien więc poszukać jedynie po jego kawałku, czyli np. "<telefon".

Bartez 04.07.2013 09:56

Co rozumiesz przez część? Jakiś przykład?

Berion 04.07.2013 09:50

Po co szukałeś całego wyrażenia? Trzeba było poszukać jego część.

I chyba można zamienić na <Telefon />.

Bartez 04.07.2013 09:42

W Twoim przypadku:

Szukaj: <Telefon>[^<]*</Telefon>
Zamień: <Telefon></Telefon>

lub bardziej ogólnie, bez podawania taga:

Szukaj: <(.*)>[^<]*</(.*)>
Zamień: <\1></\2>

Smartek 04.07.2013 08:42

Wyrażenia regularne i zamienianie...
 
Mam pliczek .xml, w którym chciałbym zmienić wyrażenia:
<Telefon>xxx</Telefon>
na:
<Telefon></Telefon>

Czyli po prostu usunąć zawartość tagów.

Ściągnąłem do tego celu Notepad++, bo podobno ma rozbudowaną szukajkę.

Wpisywałem na różne sposoby, zaznaczając wyrażenia regularne...
<Telefon>.</Telefon>
i
<Telefon>*.</Telefon>
i
<Telefon>.*</Telefon>

Ale nic nie pomaga, a w którejś opcji sprawił, że ucinał mi dalszą część pliku od pewnego momentu...
Nie wiem jak to ugryźć :(.


Wszystkie czasy w strefie CET. Aktualna godzina: 12:09.

Powered by vBulletin® Version 3.9.0 LTS
Copyright ©2000 - 2026, vBulletin Solutions Inc.