Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [w.r.] Wybrany ciąg znaków z wyjątkiem
DeyV
post
Post #1





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




Chyba mam dziś jakiś zły dzień...
Nie mogę stworzyć Perl regular expression, które pobierałoby każdy ciag znaków, z wyjątkiem ciągów zawierajacych & quot; (bez spacji oczywiście)

Pomożecie?


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 13)
kurtz
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 786
Pomógł: 0
Dołączył: 18.03.2002
Skąd: Wroclaw/Warszawa

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


Cytat
Chyba mam dziś jakiś zły dzień...
Nie mogę stworzyć  Perl regular expression, które pobierałoby każdy ciag znaków, z wyjątkiem ciągów zawierajacych & quot; (bez spacji oczywiście)

Pomożecie?
$ciag = str_replace("& quot;","", $ciag);

i masz pod $ciag wszystko poza & quot; ...

pozdrawiam
i po cichu licze ze zrozumiem osochosilo ;)


--------------------
.. make web your home ..
Go to the top of the page
+Quote Post
DeyV
post
Post #3





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




nietety, nie zrozumiałęś...

Chodziło o pobranie ciagu spełniającego jakieś warunki, np. pomiędzy dwoma "", _nie zawierającego_ & quot;
Bardzo latwo jest ustalić, by to był ciąg bez konkretnego znaku, ale jak stworzyć zapytanie nie zazwalajace na 'słowo'?


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post
FiDO
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


Czyli chodzi Ci o [^A-z] tylko w wersji dla slowa? Tez sie kiedys nad tym glowilem i nie doszedlem do niczego madrego :/
Go to the top of the page
+Quote Post
KaMeLeOn
post
Post #5





Grupa: Zarejestrowani
Postów: 680
Pomógł: 0
Dołączył: 1.10.2002
Skąd: Wrocław

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


[php:1:558f60ef2f]<?php
$string = preg_replace("#"(.*?)"#", "1", $string);
?>[/php:1:558f60ef2f]


--------------------
"Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
Go to the top of the page
+Quote Post
DeyV
post
Post #6





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




tak, Kameleon, w tym kierunku winksmiley.jpg
Tylko jak do tego dodać to o czym napisał FiDO, czyli pobrać nie każdy ciąg, ale tylko te, które nie zawierają określonego słowa...


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post
Teodor
post
Post #7





Grupa: Zarejestrowani
Postów: 87
Pomógł: 0
Dołączył: 13.04.2003
Skąd: Poznan

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


to moze o to chodzi?
[php:1:94f8cf50d9]<?php
if (ereg("& quot;", $string)) {
print znaleziono; }
else {
print dupa; }
?>[/php:1:94f8cf50d9]
Go to the top of the page
+Quote Post
spenalzo
post
Post #8





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

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


Hmm :-)
Spójrz na drugi post od góry... Poza tym to byłoby za proste chyba.


--------------------

Go to the top of the page
+Quote Post
DeyV
post
Post #9





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




raczej o coś w stylu
[php:1:7f24272262]<?php
$string = preg_replace("#"( Tu coś o czym nie wiem .*?)"#", "1", $string);
?>[/php:1:7f24272262]
Czyli, niestety, raczej o wyciągnięcie, a nie wykrycie, a zresztą Twoje rozwiazanie wykryje tylko ten konkretny ciąg a nie np.
Kod
test "coś tam & quot; " cos tam dalej


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post
KaMeLeOn
post
Post #10





Grupa: Zarejestrowani
Postów: 680
Pomógł: 0
Dołączył: 1.10.2002
Skąd: Wrocław

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


Sorry, nie doczytałem dokładnie o co Ci chodzi...
Więc wyrażenie:
Kod
(.*?)

w żadnym wypadku bo .* oznacza dowolną ilość dowolnych znaków.
Jeśli dobrze zrozumiałem to chcesz pobrać text znajdujący się pomiędzy " ", który składa się tylko z liter i spacji.
[php:1:0e24d69a17]<?php
$string = preg_replace("#"([a-zA-Z ]{1,})"#", "1", $string);
?>[/php:1:0e24d69a17]


--------------------
"Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
Go to the top of the page
+Quote Post
DeyV
post
Post #11





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




Jeśli możesz - przeczytaj ten wątek jeszcze raz. Bo może i rzeczywiśćie ja coś źle tłumaczę, ale nie wiem, jak napisać jaśniej.

Chodzi mi o dowolny ciąg znaków, spełniający jakiś warunek (to nas nie interesuje) który NIE zawiera podanego 'słowa'- czyli kombinacji znaków - w przykładzie & quot;


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post
kurtz
post
Post #12





Grupa: Przyjaciele php.pl
Postów: 786
Pomógł: 0
Dołączył: 18.03.2002
Skąd: Wroclaw/Warszawa

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


Cytat
Chodzi mi o dowolny ciąg znaków, spełniający jakiś warunek (to nas nie interesuje) który NIE zawiera podanego 'słowa'- czyli kombinacji znaków - w przykładzie & quot;
proponuje uzyc preg_grep() zeby zrobic inverta.

machanlem prosty przyklad - zobacz czy mowimy o tym samym tym razem ;)


pozdrawiam


--------------------
.. make web your home ..
Go to the top of the page
+Quote Post
DeyV
post
Post #13





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




tak, to mi się podoba aaevil.gif
Szkoda tylko że jeszcze nie bardzo rozumiem, jak to działa, bo mój manual (wersja z 30 maja) nie podaje nic na temat flag w preg_grep().
Ale dzieki - poszukamy, poczytamy smile.gif


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post
kurtz
post
Post #14





Grupa: Przyjaciele php.pl
Postów: 786
Pomógł: 0
Dołączył: 18.03.2002
Skąd: Wroclaw/Warszawa

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


Cytat
tak, to mi się podoba :twisted:  
Szkoda tylko że jeszcze nie bardzo rozumiem, jak to działa, bo mój manual (wersja z 30 maja) nie podaje nic na temat flag w preg_grep().  
Ale dzieki - poszukamy, poczytamy :)
w manualu pod preg_grep() tego nie znajdziesz ;)

znajdziesz za to w w changelogu do 4.2.0 (w polowie dlugiej listy)
no i z tego co widze w komentarzach do preg_grep()a ;)

pozdrawiam


--------------------
.. make web your home ..
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 Aktualny czas: 19.08.2025 - 15:47