Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]Wyrażenia Regularne, Dodanie znaku do szukanej frazy
Master Miko
post
Post #1





Grupa: Zarejestrowani
Postów: 530
Pomógł: 0
Dołączył: 15.01.2005
Skąd: Warszawa

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


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


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
jarrod
post
Post #2





Grupa: Zarejestrowani
Postów: 312
Pomógł: 9
Dołączył: 14.10.2006
Skąd: warszawa

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


preg_replace" title="Zobacz w manualu php" target="_manual

Ten post edytował jarrod 20.10.2006, 00:51:43
Go to the top of the page
+Quote Post
siemakuba
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 112
Pomógł: 20
Dołączył: 10.04.2005

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


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.
Go to the top of the page
+Quote Post
Master Miko
post
Post #4





Grupa: Zarejestrowani
Postów: 530
Pomógł: 0
Dołączył: 15.01.2005
Skąd: Warszawa

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


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)

Ten post edytował Master Miko 20.10.2006, 18:59:46


--------------------
Go to the top of the page
+Quote Post
siemakuba
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 1 112
Pomógł: 20
Dołączył: 10.04.2005

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


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.
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: 22.08.2025 - 01:35