![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 697 Pomógł: 47 Dołączył: 19.12.2003 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Mam problem z wyrażeniami regularnymi ;] Za pomocą preg_mach_all odnajduje wszystkie ciągi do zmiany, nastepnie montuje pętelke i za pomocą str_replace podmieniam co się da. Wszystko działa pięknie dopuki nie mam do zamiany czegoś w stylu...
Kod bla => cos tam ble => cos tam 2 blacha => bardzo fajne meble => po prostu extra Co się dzieje... najpierw skrypt odnajduje i podmienia wszystkie bla tak więc z mojej blachy pozostaje Kod costamcha Nastepnie podmienia wszystkie ble na cos tam i z moich mebli zostaje ;] Kod mecos tam 2 A niestety o coś takiego mi nie chodziło ;] Czy ktoś może zna sposób aby uniknąć tego typu akcji? Czy da się ograniczyć działanie funkjcji str_replace do jednej podmiany? Byłbym wdzięczny za jakiekolwiek wskazówki... |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 182 Pomógł: 0 Dołączył: 4.01.2005 Skąd: piczu.info Ostrzeżenie: (10%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 697 Pomógł: 47 Dołączył: 19.12.2003 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Moj skrypt poczuł znaczny spadek szybkości ;].. jest moze jakas szybsza technika? Ja jeszcze spróbuję posortować tablice zwracaną przez preg_mach_all bo nie ma( i raczej nie bedzie) w niej wiecej niż 10 elementow wiec moze to bedzie szybsze rozwiązanie...
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 182 Pomógł: 0 Dołączył: 4.01.2005 Skąd: piczu.info Ostrzeżenie: (10%) ![]() ![]() |
to moze wyszukuj nazwa => lub => nazwa?
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 697 Pomógł: 47 Dołączył: 19.12.2003 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
to moze wyszukuj nazwa => lub => nazwa? Nie rozumiem ;] znalazłem rsort" title="Zobacz w manualu php" target="_manual Świetnie się tutaj nadaje i działa mi o ok. 0.0006s szybciej niż preg Tylko nie wiem dlaczego jeśli mam tablice wielowymiarowa nie moge napisać
php glupieje ;] musze tablice tymczasową tworzyc ;/ |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 182 Pomógł: 0 Dołączył: 4.01.2005 Skąd: piczu.info Ostrzeżenie: (10%) ![]() ![]() |
nadal nie wiem jak wyglada twoj kod, ale preg_match" title="Zobacz w manualu php" target="_manual wyszukuje do pierwszego pasujacego ciagu,
|
|
|
![]()
Post
#7
|
|
Grupa: Przyjaciele php.pl Postów: 1 112 Pomógł: 20 Dołączył: 10.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Możesz pokazać cały ten kod i napisać co i jak potrzebujesz zamieniać? Mam wrażenie, że strasznie nakombinowałes tam, a może da się to zrobić prościej i nie będzie problemu z wydajnością :)
pozdr. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 697 Pomógł: 47 Dołączył: 19.12.2003 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Tak to działa... jako $param do funkcji przekazuje ciąg zawierający zmienne np... Kod bla bla $zmienna bla bla bla $zmie $z $zmien sdf Teraz zamieniam to na Kod bla bla $this -> vars['zmienna'] bla bla bla $this -> vars['zmie'] $this -> vars['z'] $this -> vars['zmien'] sdf Po więcej szczegółów zapraszam na Inny temat na php.pl (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
![]()
Post
#9
|
|
Grupa: Przyjaciele php.pl Postów: 1 112 Pomógł: 20 Dołączył: 10.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem na ile ważny jest ten kod, który oprócz str_replace działa sobie w pętli. Jeżeli będzie to dla ciebie OK, możesz sobie zamianę wartości wysatwić poza pętlę i zrobić tak:
pozdr. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 697 Pomógł: 47 Dołączył: 19.12.2003 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
no wlasnie ten kod jest ważny... co do preg_replace jak juz wspomniałem działa dużo wolniej niz sortowanie tablicy więc chyba zostane przy tym kodzie króry mam... (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
dzięki za odpowiedzi (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 02:31 |