Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [regexp] Jak określić?, początek tekstu lub biały znak
Blackhole
post
Post #1





Grupa: Zarejestrowani
Postów: 283
Pomógł: 1
Dołączył: 15.11.2004
Skąd: Mikołów

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


Hej!
Chciałbym z tekstu wyciągnąć wszystkie wyrazy długości od 2 do 3 znaków. Mam aktualnie tak:
  1. <?
  2. preg_match_all("#\s([0-9a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ]{2,3})\s#Usi", $txt, $sh);
  3. ?>
Jednak nie wyciąga to wyrazów, które są na początku lub końcu tekstu. I tu mam problem, bo nie wiem, jak to zdefiniować (IMG:style_emoticons/default/blinksmiley.gif)
Pomóżcie...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Blackhole
post
Post #2





Grupa: Zarejestrowani
Postów: 283
Pomógł: 1
Dołączył: 15.11.2004
Skąd: Mikołów

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


Pr0100, spróbowałem więc tak:
  1. function x2words_($txt, $dl) {
  2. echo "<b>com:</b> ".$txt."<br />";
  3. // zwraca ciag ze zdwojonymi slowami dlugosci d: 1<d<=$dl
  4. preg_match_all("#[\s\A]([0-9a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ]{2,".$dl."})[\s\Z]#Usi", $txt, $sh); // wyciagnij krotkie wyrazy
  5. echo '<pre>'; print_r($sh); echo '</pre>';
  6. $sh = $sh[1];
  7. for ($si=0; $si<count($sh); $si++) // zdubluj znalezione krótkie wyrazy
  8. $sh[$si] .= $sh[$si];
  9. $out = implode(" ", $sh); // zrób z nich string
  10. echo "<b>out:</b> ".$out;
  11. return $out;
  12. }
  13. $txt = 'To je string nie tak mały i do testów - tfu';
  14. echo $str."<br />".x2words_($str,3);
i otrzymuję:
Cytat
com: To je string nie tak mały i do testów - tfu

Array
(
[0] => Array
(
[0] => je
[1] => nie
[2] => ały
[3] => do
)

[1] => Array
(
[0] => je
[1] => nie
[2] => ły
[3] => do
)

)

out: jeje nienie łyły dodo
To je string nie tak mały i do testów - tfu
jeje nienie łyły dodo

Spróbowałem też dać \b zamiast tych \A i \Z, ale wynik jest taki:
Cytat
com: To je string nie tak mały i do testów - tfu

Array
(
[0] => Array
(
[0] => je
[1] => nie
[2] => do
)

[1] => Array
(
[0] => je
[1] => nie
[2] => do
)

)

out: jeje nienie dodo
To je string nie tak mały i do testów - tfu
jeje nienie dodo

Czyli nie działa (IMG:style_emoticons/default/sad.gif)
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: 12.10.2025 - 07:15