Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Regex, 3 dowlne znaki i spacja
biedak
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 6.05.2011

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


cześć,

próbuje zaminić w stringu każdy ciąg znaków o długosci 1-3 zawsze zakończony spacją na powiedzmy "|".
Próbowałem juz pare sposobów, aktualnie:
$pattern = "/.{1,2,3}\s/";
$matches = preg_replace($pattern, "|", "jeden dwa trzy cztery pds g aa");

Nie działają.
Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
biedak
post
Post #2





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 6.05.2011

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


Cytat(wookieb @ 6.05.2011, 12:13:17 ) *
Naucz się w końcu wyrażeń regularnych bo Twój aktualny poziom wiedzy na ich temat to chyba wstęp od autora
Kod
/(?:\s|^)(\w{3,})(?:\s|$)/


No może i tak, ale twoje dalej nie daje właściwych rezultatów (wyrazy dłuższe niż 3 znaki)
  1. $subject= "jeden dwa trzy cztery pds g aa";
  2. $pattern = "/(?:\s|^)(\w{3,})(?:\s|$)/";
  3. preg_match_all($pattern, $subject, $matches, PREG_PATTERN_ORDER);
  4. print_r($matches);


daje: Array: jeden trzy pds

Cytat(pmir13 @ 6.05.2011, 12:22:01 ) *
A może podaj jakiś poprawny przykład, albo sprecyzuj co chcesz osiągnąć, bo w zamianie:
"jeden dwa trzy cztery pds g aa"
na
"jeden|trzy|cztery|"
to ja nie widzę nic wspólnego ze zdaniem

Dlaczego w takim razie tylko jedna kreska na końcu? I skąd kreska między trzy i cztery?


Dla przykładu dałem, chciałem aby wyrazy były oddzielone. Ale teraz inna koncepcja - chcę wyciągnąć wyrazy dłuższe niż 3 znaki.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 7.10.2025 - 04:00