Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> wyszukiwanie wyrazów krótszych niż n znaków
czachor
post
Post #1





Grupa: Zarejestrowani
Postów: 897
Pomógł: 40
Dołączył: 16.12.2003
Skąd: Warszawa

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


Witam,
niestety nie jestem za mocny w wyrażeniach regularnych no i mam wydaje się banalny problem. Próbuję znaleźć w ciągu wyrazy krótsze niż 4 znaki i usunąć je z ciągu... Próbuję tego:
  1. <?php
  2. $str = 'abc defg hi j kllmno prs';
  3. print_r(preg_replace('/ w{1,3} /', ' ', $str)); //zwraca: abc defg j kllmno prs
  4. ?>

Coś jest nie tak... Jakby ktoś coś podpowiedział, będę wdzięczny!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nevt
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

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


to działa:
$str = 'abc defg hi j kllmno prs';
echo "1. ($str)<br />";
$str = preg_replace('/^|\s/', ' \_0 ', $str); ('backslash zero spacja'- wywalić podkreślenie)
$str = preg_replace('/(\s)(\S){1,3}(\s)/', '', $str);
$str = preg_replace('/(^|\s)\s/', '\1', $str);
echo "2. ($str)";

Edit1: poprawka dla powtarzających się sekwencji (dlatego zostawało j...)
Edit2: zmiana znaczników z php na code
Edit3: zmiana nie pomogła - w ogóle wywalam znaczniki...
Edit4: zmiana nie pomogła dalej nie wyświetla sekwencji \_0 (backslash zero - wywalić podkreślenie)
Edit5: Ten edytor jest do dupy, to już któryś raz kiedy nie pozwala mi przedstawić poprawnego składniowo kodu PHP...

Ten post edytował nospor 1.02.2008, 08:39:44
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: 11.10.2025 - 01:30