Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> RegEX i \n
Luciano
post 18.08.2006, 15:36:38
Post #1





Grupa: Zarejestrowani
Postów: 102
Pomógł: 1
Dołączył: 26.07.2006
Skąd: Londyn

Ostrzeżenie: (0%)
-----


Witam,

Chcialbym sie dowiedziec co jest przyczyna problemu, ze wyrazenia regularne zdaja sie "nie chwytac" wyrazen
ze stringow w ktorych jest znak nowej lini. Na przyklad mamy dany ciag:

  1. <?php
  2. $xml = "<ROOT><T1>ns</T1><T1>2</T1><AB><A>11</A><B>22</B><C>33</C></AB></ROOT>";
  3. ?>


i wyrazenie


/<T1>.*?</T1>/x


funkcja preg_match_all zwroci mi tablice [0] = ns [1] = 2

Jesli natomiast zmodyfikuje string dodajac znak nowej lini po ns

  1. <?php
  2. $xml = "<ROOT><T1>nsn</T1><T1>2</T1><AB><A>11</A><B>22</B><C>33</C></AB></ROOT>";
  3. ?>


lub wpisze np.

  1. <?php
  2. $xml = '<ROOT>
  3. <T1>
  4. ns
  5. </T1>
  6. <T1>2</T1><AB><A>11</A><B>22</B><C>33</C></AB></ROOT>';
  7. ?>


w wyniku otrzymam tylko [0] = 2

Nie bardzo rozumiem dlaczego tak sie dzieje, myslalem ze KROPKA oznacza kazyd znak.

Pozdrawiam

Ten post edytował Luciano 21.08.2006, 09:39:40


--------------------
Go to the top of the page
+Quote Post
hwao
post 18.08.2006, 18:27:11
Post #2


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




Musisz dodac flage "s", czyli:

Kod
/<T1>.*?<\/T1>/xs


Prosze, używaj bbcode wtedy dużo łatwiej się pomaga.

Tak, doladnie chodzi o s
Go to the top of the page
+Quote Post
bendi
post 19.08.2006, 09:07:23
Post #3





Grupa: Zarejestrowani
Postów: 401
Pomógł: 5
Dołączył: 14.09.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


A ja mam wrażenie że chodzi o modyfikator /s - czyli coby kropka też dobierała się do znaków nowej linii.

Tak wogóle to pytanie bardzo często się pojawia możnaby je do jakiegoś FAQ wrzucić.


--------------------
Go to the top of the page
+Quote Post
Luciano
post 21.08.2006, 09:39:59
Post #4





Grupa: Zarejestrowani
Postów: 102
Pomógł: 1
Dołączył: 26.07.2006
Skąd: Londyn

Ostrzeżenie: (0%)
-----


Dzieki wielkie za pomoc!


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.06.2025 - 23:36