Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]Zamiana
pEbE
post
Post #1





Grupa: Zarejestrowani
Postów: 106
Pomógł: 3
Dołączył: 21.03.2006
Skąd: Sosnowiec

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


Witam po raz kolejny (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Chciałbym w prosty sposób zrobić zamiane ciągów, która polegałaby na tym, że do zamienianego ciagu na początku dodajemy np. litery abc czyli:

  1. <?php
  2. $wartosci = array( 'select', 'insert', 'delete', 'update', 'drop' );
  3. $zamiana = array( 'abcselect', 'abcinsert', 'abcdelete', 'abcupdate', 'abcdrop' );
  4.  
  5. $str = str_ireplace( $wartosci, $zamiana, $strDoZamiany );
  6. ?>


Oczywiscie zamienia jednak gdy jako zmienna $strDoZamiany dam np: "DROPME" lub "DrOpmE"

Zwróci: "abcdropME"

Problem może banalny, ale jak zachować te wielkie litery?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Prph
post
Post #2





Grupa: Zarejestrowani
Postów: 338
Pomógł: 2
Dołączył: 4.03.2006
Skąd: Łódź

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


Witam,

Nie bardzo wiem jakie to ma zastosowanie.
Jezeli koniecznie potrzebujesz czegos takiego: napisz funkcje:
  1. <?php
  2. function zamien($sString, $sPrefix = '')
  3. {
  4. return $sPrefix . $sString;
  5. }
  6. ?>


Nie wiem po co cos takiego. nie szybciej:
  1. <?php
  2. $sNapis = 'abcdefghij' . $sNapis;
  3. ?>


Rozumiem, ze moze to byc przydatne jak potrzebujesz zrobic to dla np 50 zmiennych. Ale to nadal moza zrobic za pomoca while, for...

Adrian.
Go to the top of the page
+Quote Post
pEbE
post
Post #3





Grupa: Zarejestrowani
Postów: 106
Pomógł: 3
Dołączył: 21.03.2006
Skąd: Sosnowiec

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


Heh to nie takie proste (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Nieumiem Ci tego dobrze przedstawić, zalezy mi na tym aby skrypt dodawal kilka liter przed kazdym słowem z tabeli...

Moze sprobuje na przykladzie takim:
Mam tekst:
$txt = "teN TEXt To JESt teXt";

i mam ciag do dodania
$dodaj = 'abc';

i chcialbym zeby skrypt przerobil to tak abym otrzymal
$txt = "teN abcTEXt To JESt abcteXt";

Czyli przed każdym słowem "text" dodawał "abc" zachowując jednocześnie wielkość liter

Wiem ze moze wydawac sie to glupie ale nie chce wam dawac prawdziwego przeznaczenia skryptu bo ma bardzo dużo linijek. Zalezy mi tylko na tej zamianie

Ten post edytował pEbE 31.05.2006, 22:38:47
Go to the top of the page
+Quote Post
peesz
post
Post #4





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 30.01.2004
Skąd: Piastów

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


oto rozwiazanie:
  1. <?php
  2. $txt = "teN TEXt To JESt teXt";
  3. $dodaj = 'abc';
  4. $znajdz = "TEXt";
  5. $wynik = preg_replace("/($znajdz)/i", "$dodaj1", $txt);
  6. ?>


@pesz używaj tagów php do wstawiania kodu php a nie pogrubionych linków
---
poprawiam
revyag
Go to the top of the page
+Quote Post
pEbE
post
Post #5





Grupa: Zarejestrowani
Postów: 106
Pomógł: 3
Dołączył: 21.03.2006
Skąd: Sosnowiec

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


Wielkie dzieki, szkoda ze preg_replace nie działa bezpośrednio na tabelach, ale z pomoca pętli wszystko jest możliwe (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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: 23.08.2025 - 03:10