Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] preg_replace i index tablicy asocjacyjnej, Problem z użyciem zmienej \\1 jako indeksu tablicy
aeonyx
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 14.01.2009

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


Mam problem dotyczący użycia polecenia preg_replace, potrzebuje zrobić następującą rzecz :

Otrzymuje w zmiennej $kod - kod mający następujące formaty:
Kod
AL 100%

Kod
ZN 50%, AL 50%

itp.... Kody pierwiastków mogą mieć od jednego do 3 znaków

teraz mam tablice asocjacyjną z symbolami pierwiastków i ich nazwami
Kod
   $source = array (
       'AL'    => 'ALUMINIUM',
       'ZN'    => 'ZINCUM');



mam za zadanie wyświetlić wyłącznie przy użyciu polecenia preg_replace i podanych zmiennych coś takiego.

AL 100% - ALUMINIUM 100%
AL 50%, ZN 50% - ALUMINIUM 50%, ZINCUM 50%

napisałem takie coś:

Kod
echo $textiles." - ".preg_replace ('/(\w+) (\d+)/', '$source[\'$1\']' ,$kod);


ale niestety nie wyświetla się wartość o podanym indeksie. Otrzymuje coś takiego

Kod
AL 50%, ZN 50% - $source['AL']%, $source['ZN']%


jak wyświetlić cyfrę odpowiadającą za procenty wiem. Problem w tym że nie mogę użyć zmiennej wewnętrznej polecenia preg_replace jako indeksu tablicy.

Próbowałem z rożnymi zapisami, wtedy jednak otrzymuje takie błędy.

Kod
<b>Notice</b>:  Undefined index:  $1 in <span style="font-weight: bold;">xxxxxx</span><b>\index.php</b> on line <b>30</b>

Kod
<b>Notice</b>:  Undefined index:  \1 in <span style="font-weight: bold;">xxxxxx</span><b>\index.php</b> on line <b>30</b>


itp. Może ktoś już się spotkał z takim problemem. Użycie innego polecenia lub kombinacji nie wchodzi w grę. Proszę o dokładne przeczytanie. Dziękuję za ewentualną pomoc.
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: 24.09.2025 - 06:12