Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] wyszukiwanie w stringach
php__amator
post
Post #1





Grupa: Zarejestrowani
Postów: 217
Pomógł: 1
Dołączył: 26.05.2011
Skąd: Moon

Ostrzeżenie: (10%)
X----


Witajcie Świątecznie,

Potrzebuję podpowiedzi, wyszukuję w stringu określonego ciągu znaków i tu nie ma problemu, potrzebuję jednak do tego określonego dodać kolejnych kilka ale już bez sprawdzania co to jest. Powiedzmy że mam ciąg: Z-0.00000000, wyszukuję znaki "Z-" i do tego kolejnych 10 znajdujących się z prawej strony.

Jak je połączyć albo jak z tych 2 elementów zrobić jeden.

Dlaczego ?
Dlatego, że liczby znajdujące się za Z- zmieniają się a nie są potrzebne więc trzeba je wyciąć.

Jak ?

Tak wyglądają kody
G00 Z0.10000000
G00 X4.95970000 Y2.74900000
G01 Z-0.25000000
G01 X4.95970000 Y3.99320000
G00 Z0.10000000
G00 X4.95970000 Y2.74900000
G01 Z-0.50000000
G01 X4.95970000 Y2.74900000 Z-0.50000000
G01 X4.95970000 Y3.99320000
G00 Z0.10000000
G00 X4.95970000 Y2.74900000
G01 Z-0.75000000
tak wyglądają kody i chcę wyciąć/podmienić automatycznie np:

G00 Z0.10000000 => M3

G01 Z-0.25000000 => M5
itd
Ponieważ zmieniają się wartości muszą być traktowane jedynie jako długość stringu a nie co w nim jest
Gdyby stringi były stałe problemu by nie było.

Ze świątecznym pozdrowieniem
phpamator


Ten post edytował phpamator 25.12.2014, 19:10:16
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
jackraymund
post
Post #2





Grupa: Zarejestrowani
Postów: 217
Pomógł: 21
Dołączył: 10.06.2011
Skąd: Głogów

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


Gdyż, wynik jest ostatnim replac'em.
A wyszukiwarka nie wyświetla znaku entera, natomiast w znaczniku <pre> zobaczysz je. Ew. możesz zamienić je na <br> za pomocą funkcji nl2br.
  1. $str = preg_replace('/G00 Z[a-zA-Z0-9.]{10}/',"M3", $code);
  2.  
  3. // wyszukiwanie string G01 Zx.xxxxxxxx
  4. $str = preg_replace('/G01 Z[a-zA-Z0-9.]{10}/',"M3", $str);
  5.  
  6. // wyszukiwanie stringu G00 Z-x.xxxxxxxx - bardzo wazne zeby rozpoznawalo znak - od tego zalezy czy to M3 czy M5
  7. $str = preg_replace('/G00 Z-[A-Za-z0-9.]{10}/',"M5", $str);
  8.  
  9. // wyszukiwanie string G01 Z-x.xxxxxxxx
  10. $str = preg_replace('/G01 Z-[A-Za-z0-9.]{10}/',"M5", $str);
  11.  
  12. // wyszukiwanie stringu Zx.xxxxxxxx
  13. $str = preg_replace('/Z[a-zA-Z0-9.]{10}/',"M3", $str);
  14.  
  15. // wyszukiwanie string Z-x.xxxxxxxx
  16. $str = preg_replace('/Z-[a-zA-Z0-9.]{10}/',"M5", $str);
  17. echo '<pre>'; // lub $str = nl2br($str);
  18. echo($str);


Ten post edytował jackraymund 25.12.2014, 22:47:02
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 - 05:59