Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Wyrażenia Regularne
Forum PHP.pl > Forum > Przedszkole
Master Miko
Witam,
Nie znam się zabardzo na wyrażeniach regularnych, toteż proszę o pomoc smile.gif
Jak rowiązać taki probem:
1. Wyszukuję wyrazy przez wyrażenie regularne (które nawet działa)
Teraz trudniejsza cześć
2. Jak dopisać do tych wyrazów (ucinając ich jeden znak) dowolny określony przeze mnie znak?

Pewnie głupio to wtłumaczyłem więc napiszę o co mi chodzi:
Wyrażenie: '/\s[A-Za-z]{1,3}\s/' wyszukuje krótkich słów
Teraz chcę, aby zostawiało ten wyraz w spokoju - a tylko zabierało przednią spację i zmieniało go na znak  

Czyli np:
"W domu zbieram w dołek po pomidory od sera"
Zmieniałoby na:
"W domu zbieram w dołek po pomidory od sera"

Taka funkcja dodająca twarde spacje po krótkich wyrazach smile.gif
pzdr
siemakuba
Hm, jeżeli dobrze zrozumiałem, to tak powinno być OK:

  1. <?php
  2. $str = 'W domu zbieram w dołek po pomidory od sera';
  3. $str = preg_replace('/b([a-z]{1,3})( )+/si', '1&nbsp;', $str);
  4. ?>
i wynik:
Kod
W&nbsp;domu zbieram w&nbsp;dołek po&nbsp;pomidory od&nbsp;sera


BTW, czt to rodzaj wymuszenia poprawnego typograficznie przenoszenia wyrazów? Niepozostawiania 'sierot' na końcu linii? Fajna koncepcja :)

pozdr.
Master Miko
Cytat
czt to rodzaj wymuszenia poprawnego typograficznie przenoszenia wyrazów?

Tak, zgadza się smile.gif
Prawie nikt tego nie używa, a jest to wspaniała właściwość HTML smile.gif

PS: Jak sądzicie? Dać to jako "małą funkcje" do algorytmów itp?
Mogę to rozwinąć - dodać reguły itp itd.

Dzięki wielkie za pomoc smile.gif
Oto chodziło
Nie widziałem że jest coś takiego jak paramtr \\1 - Czy są jakieś inne?
(bardzo słaabo znam się na wyrażeniach.. reg)
siemakuba
Cytat
Nie widziałem że jest coś takiego jak paramtr \\1 - Czy są jakieś inne?

Każde wyrażenie, które we wzorcu zamieszczasz w nawiasach () będzie później dostępne jako zmienna. Te zmienne indeksowane są od 0, więc \\1 to odwołanie do drugiego z kolei spasowanego wzorca.

Huh, zamieszałem zapewne :)

Co do wyrażeń regularnych - polecam stronę i kurs jednego z forumowiczów (@bendi) - http://bedkowski.pl/a/php_regex/

pozdr.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.