[PHP]Podmiana znaków |
[PHP]Podmiana znaków |
17.01.2018, 08:16:13
Post
#1
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 19.07.2017 Ostrzeżenie: (0%) |
Witam mam string $str = 'jdjfksaakfsdnfjXXXXdashfadnvlzvlfam' i potrzebuje podmienić w nim kilka liter.Znam początek ale nie znam liter w miejscu które chce podmieniać: kfsdnfjXXXX gdzie kfsdnfj znam a xxxx nie.Jak mogę to zrobić znając część liter oraz ilość liter do podmiany?
|
|
|
17.01.2018, 08:43:03
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 468 Pomógł: 6300 Dołączył: 27.12.2004 |
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
17.01.2018, 21:46:33
Post
#3
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 19.07.2017 Ostrzeżenie: (0%) |
Dziękuje za szybką odpowiedź, poćwiczyłem wg twojego linka z 4h, umie już zmieniać słowa kasować lub dodawać spacje , zastępować je czymś innym , ogólnie bardzo przydatna lekcja,nie umie natomiast zmusić skryptu do wykonania podmiany x znaków po określonym ciągu , dodam również ze jestem bardzo początkującym w php a ułatwiło by mi to pracę.Z góry dziękuje za dalsze podpowiedzi.
|
|
|
17.01.2018, 22:44:02
Post
#4
|
|
Grupa: Zarejestrowani Postów: 460 Pomógł: 49 Dołączył: 5.06.2011 Ostrzeżenie: (0%) |
Można tak:
..... albo tak .{5} Kropka to dowlny znak niebędący końcem linii. |
|
|
18.01.2018, 08:20:31
Post
#5
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 19.07.2017 Ostrzeżenie: (0%) |
ehmm kolejne 4h na probie stworzenia czegoś poległy,za świeży w tym jestem. Pozostanie mi się poddać pewno trzeba poćwiczyć zeby nabrać skila.Prosze mi jeszcze tylko napisać czy poprzez preg_preplace mogę to zrobić w ten sposób że cześć która znam czyli "alamakotaajanie" gdzie w stringu nie znam "kota" mogę podmienić niewiadomą w sposób "ama...." gdzie niewiadome czyli kropi z gory okrestam ze to ma być np 0 i określam ilość zer jaka mam wstawić po "ama" task zeby nie zwiekszyc objętości tekstu tylko podmieniać kolejne znaki na z góry ustalona ilość zer?
|
|
|
18.01.2018, 08:33:08
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 366 Pomógł: 1115 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Pobaw się http://php.net/manual/en/function.stripos.php str_replace i podobnymi. Z tego opisu ciężko wywnioskować jak ten string wygląda (stała czy zmienna ilość znaków, stały czy zmienny napis).
BTW. Zawsze mnie to razi. Ja umiem, ty umiesz, on/ona/ono umie. To tak jakbyś pisał "Ja Polaka". -------------------- |
|
|
18.01.2018, 08:45:38
Post
#7
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 19.07.2017 Ostrzeżenie: (0%) |
Dziękuję za odpowiedź,jeśli źle złożyłem zdanie to sorki.Tak tego zapomniałem napisać pliki o jednym ciągu string mają od 500kb do 2000kb , string podmiany jest przykładowy a ilość miejsc podmiany (niewiadomej ....) jest w każdym pliku inna.Z str_replace korzystam już od kilku dni do czegoś innego i działa świetnie, jednak nie udało mi się tego zastosować do podmiany niewiadomych znaków.
|
|
|
18.01.2018, 08:48:58
Post
#8
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
|
|
|
18.01.2018, 21:26:18
Post
#9
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 19.07.2017 Ostrzeżenie: (0%) |
Na pewno na tym poziomie wiedzy bym tego sam nie napisał .Dziekuje
Troszkę się pospieszyłem,działa ale np przy długim pliku 2mb szuka tekstu tylko do około 1/3 długości pliku.Jeśli tego nie przekroczymy to zapisze plik ze zmianami i jest luksus, jeśli natomiast przekroczymy tą długość to nie robi nic , echo nie wyrzuca na ekran nic a i plik zapisywany ma 0kb.Czy ktoś wie czemu się tak dzieje lub jak to naprawić? |
|
|
18.01.2018, 21:33:32
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) |
Podaj przykład co dokładnie chcesz zamienić?
|
|
|
18.01.2018, 21:48:58
Post
#11
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 19.07.2017 Ostrzeżenie: (0%) |
Dodaje pliki skrypt oraz binarka.Mam nadzieje ze nie popełniam tu jakiejś zbrodni dodając tu tego linka .Tak może będzie najlepiej wyjaśnić o co mi chodzi.
Link |
|
|
18.01.2018, 23:26:46
Post
#12
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) |
Co jest w tym binarnym pliku? Taka zamiana z wyrażeniami regularnymi nie wydaje mi się najlepszym pomysłem.
|
|
|
19.01.2018, 21:13:10
Post
#13
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 19.07.2017 Ostrzeżenie: (0%) |
To zwykle dane sterujące,jest więc odczyt => konwersja bin2hex do ciągu znaków => preg_replace => konwersja hex2bin => zapis pliku , no i wszystko działa ale tylko na małych plikach bo jeśli podstawie np 2mb to tez zmieni ale tylko gdzieś do 1/3 długości , a później się gubi.Nie wiem czemu,oraz jak to zmienić na coś innego lub naprawić.Narazie potrzebuję tego do podmiany w plikach formatu bin, ale później będę musiał działać na zwykłych plikach tekstowych.Dodam tylko ze sama konwersja działa doskonale z samym str_replace , bo jeśli znam wszystkie znaki to ta funkcja działa doskonale na małych i dużych plikach
Nie ma żadnej innej alternatywy? Ten post edytował maax990 19.01.2018, 07:23:53 |
|
|
19.01.2018, 22:39:19
Post
#14
|
|
Grupa: Zarejestrowani Postów: 460 Pomógł: 49 Dołączył: 5.06.2011 Ostrzeżenie: (0%) |
|
|
|
19.01.2018, 22:50:59
Post
#15
|
|
Grupa: Zarejestrowani Postów: 6 765 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
-------------------- |
|
|
20.01.2018, 16:21:05
Post
#16
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 19.07.2017 Ostrzeżenie: (0%) |
trzczy strzał w dziesiątkę pliki do 2mega idą bez problemu.DZIEKUJE!
|
|
|
Wersja Lo-Fi | Aktualny czas: 28.05.2024 - 14:48 |