Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Zamiana
Forum PHP.pl > Forum > Przedszkole
pEbE
Witam po raz kolejny 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?
Prph
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.
pEbE
Heh to nie takie proste 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
peesz
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
pEbE
Wielkie dzieki, szkoda ze preg_replace nie działa bezpośrednio na tabelach, ale z pomoca pętli wszystko jest możliwe smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.