Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] problem z funkcją
MarcinM
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 10.10.2006

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


Mam problem z przetwarzaniem danych w funcji:

  1. <?php
  2. function TRE($align,$text){
  3.  /*podglad dziala*/
  4.  return '< tresc style="">'.$text.'< /tresc>';
  5. /*nie dziala*/
  6. if($align=='left'){
  7. return '< tresc style="text-align:left">'.$text.'< /tresc>';
  8. }elseif($align=='right'){
  9. return '< tresc style="text-align:right">'.$text.'< /tresc>';
  10. }
  11.  
  12.  
  13. }
  14. $text = ' To jest tresc do <tresc align=right>sformatowania</tresc>'; 
  15.  
  16. echo preg_replace("#<tresc( align=(left|right))>(.*?)</tresc>#si", TRE("1","3"), $text);
  17. ?>


Co może być powodem tego, że nie działa klauzula if ?

Ten post edytował MarcinM 10.10.2006, 23:18:14
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
MarcinM
post
Post #2





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 10.10.2006

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


Czy ktoś rozumie w czym jest problem?

Proszę wkleić kod i przeparsować.

return zwróci wartość zmiennej $align

ale nie zwróci stringów z klauzuli if().

Dlaczego? Przecież $align posiada wartości (użyte w porównaniu).


PS.
Info dla moderatora. Zauważyłem błąd w kodzie forum. Podczas zapisywania usuwane są podwójne ukośniki \\

W mojej poprzedniej odpowiedzi jest:
echo preg_replace("#<tresc( align=(left|right))>(.*?)</tresc>#si", TRE("\1","\3"), $text);
powinnlo byc:
echo preg_replace("#<tresc( align=(left|right))>(.*?)</tresc>#si", TRE("\\1","\\3"), $text);

Ten post edytował MarcinM 11.10.2006, 01:07:23
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: 14.10.2025 - 02:15