Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] własna funkcja ReplacePhoto()
bemol
post 22.05.2008, 13:54:15
Post #1





Grupa: Zarejestrowani
Postów: 286
Pomógł: 29
Dołączył: 5.04.2007
Skąd: Rymanów Zdrój/Rzeszów

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


witam, napisałem funkcje ktora zamieni mi znacznik [PHOTO] z zawartością na link ze zdjęciem, a mianowicie:

  1. <?php
  2. function ReplacePhoto( $String ) {
  3. if ( $String != "" ) {
  4. $String = preg_replace('/[PHOTO](d+)[/PHOTO]/','<a href="#" onclick="window.open('../photos/1.jpg'.'','','width=820,height=620,top=5,left=5,scrollbars,resizable');return false;"><img src="../photos/thumbs/1.jpg" class="a_img"></a>',$String);
  5. }
  6. return $String;
  7. }
  8. ?>


i cześć pliku w którym ją wywołuję:
  1. <?php
  2. case 'EditInDatebase': {
  3. $Db = new Engine(HOST, USER, DBPASSWORD, NAME);
  4. if ( $Db->IsConnected ) {
  5. ReplacePhoto($_POST['StartpageContent']);
  6. $Db->Query("UPDATE Startpage SET StartpageContent='".addslashes($_POST['StartpageContent'])."', StartpageDate=Now() WHERE StartpageID='".$_POST['StartpageID']."'");
  7. }
  8. $Db->Close();
  9.  
  10. Direction('Startpage.php');
  11. break;
  12. }
  13. ?>


Dlaczego nie działa? Zwraca wartość $_POST['StarpageContent'] taką jaka została wpisana w formularzu.

Ten post edytował bemol 22.05.2008, 14:18:52


--------------------
Tym ludziom zaufałem i dobrze na tym wyszedłem:
kresh
Darti
piotrekkr
Bez nich wiele bym nie zrobił. Dzięki im za to!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
Cezar708
post 22.05.2008, 14:32:02
Post #2





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

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


chyba regex powinien w tym przyadku być mniej więcej taki co?

Kod
'/[PHOTO](.+?)[/PHOTO]/'


bo porzedni pasuje tylko mniej więcej do czegoś takiego
Kod
[PHOTO]dddddddddddddddddd[/PHOTO]


no.. chyba, że o to Ci właśnie chodzi smile.gif

Pozdrawiam
Go to the top of the page
+Quote Post
nospor
post 22.05.2008, 14:34:14
Post #3





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




ja pozwole sobie jeszcze zwrocic uwagę ze [ oraz ] są znakami specjalnymi i nie mozna ich ot tak sobie uzywac jako czesci slowa. czzby ktos zapomniał o \ winksmiley.jpg


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Cezar708
post 22.05.2008, 14:34:57
Post #4





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

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


albo inna możliwość:

  1. <?php
  2. $String = preg_replace('/[PHOTO](d+)[/PHOTO]/','<a href="#" onclick="window.open('../photos/$1.jpg'.'','','width=820,height=620,top=5,left=5,scrollbars,resizable');return false;"><img src="../photos/thumbs/$1.jpg" class="a_img"></a>',$String);
  3. ?>


działa?
Go to the top of the page
+Quote Post
nospor
post 22.05.2008, 14:35:29
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




kolejna sprawa:
nie: ReplacePhoto($_POST['StartpageContent']);
a: $_POST['StartpageContent'] = ReplacePhoto($_POST['StartpageContent']);

edit up:
poraz kolejny przypominam o \[ oraz \]


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
bemol
post 22.05.2008, 14:35:43
Post #6





Grupa: Zarejestrowani
Postów: 286
Pomógł: 29
Dołączył: 5.04.2007
Skąd: Rymanów Zdrój/Rzeszów

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


\d w wyrażeniach regularnych to cyfra, więc wyrażenie (\d+) to ciąg cyfr.


--------------------
Tym ludziom zaufałem i dobrze na tym wyszedłem:
kresh
Darti
piotrekkr
Bez nich wiele bym nie zrobił. Dzięki im za to!
Go to the top of the page
+Quote Post
Cezar708
post 22.05.2008, 14:35:57
Post #7





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

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


Cytat(nospor @ 22.05.2008, 13:34:14 ) *
ja pozwole sobie jeszcze zwrocic uwagę ze [ oraz ] są znakami specjalnymi i nie mozna ich ot tak sobie uzywac jako czesci slowa. czzby ktos zapomniał o \ winksmiley.jpg



he he faktycznie winksmiley.jpg

poprawiam:
  1. <?php
  2. $String = preg_replace('/[PHOTO](d+)[/PHOTO]/','<a href="#" onclick="window.open('../photos/$1.jpg'.'','','width=820,height=620,top=5,left=5,scrollbars,resizable');return false;"><img src="../photos/thumbs/$1.jpg" class="a_img"></a>',$String);
  3. ?>


Ten post edytował Cezar708 22.05.2008, 14:40:02
Go to the top of the page
+Quote Post
nospor
post 22.05.2008, 14:37:38
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
\d w wyrażeniach regularnych to cyfra, więc wyrażenie (\d+) to ciąg cyfr.
tak, tylko ze ty dales "d" bez "\".
czyzby ineteresowal cie ciag dddddddddddddddd.... ?

edit up: cos ci sie kiepsko poprawilo winksmiley.jpg uzyj bbcode [code] zamiast [php]


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Cezar708
post 22.05.2008, 14:39:23
Post #9





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

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


Cytat(bemol @ 22.05.2008, 13:35:43 ) *
\d w wyrażeniach regularnych to cyfra, więc wyrażenie (\d+) to ciąg cyfr.


tak, właśnie zauważyłem, że tu się na tym forum to trochę źle parsuje i że trzeba edytować aby było dobrze... winksmiley.jpg

Cytat(nospor @ 22.05.2008, 13:37:38 ) *
tak, tylko ze ty dales "d" bez "\".
czyzby ineteresowal cie ciag dddddddddddddddd.... ?


nie nospor to jak dodajesz posta to ucina tutejszy skrypt forum, u mnie tak samo było smile.gif w poście napisałem \d a wyświetliło się po wszystkim d winksmiley.jpg chyba potrzebna jakaś mała poprawka winksmiley.jpg
Go to the top of the page
+Quote Post
nospor
post 22.05.2008, 14:40:32
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




dlatego mowie: [code] zamiast [php] smile.gif pozatym bemol skoro od razu dal \d to mogl przejrzec posta po napisaniu i poprawic od razu

I pamietajcie o tym:
nie: ReplacePhoto($_POST['StartpageContent']);
a: $_POST['StartpageContent'] = ReplacePhoto($_POST['StartpageContent']);


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
bemol
post 22.05.2008, 14:42:18
Post #11





Grupa: Zarejestrowani
Postów: 286
Pomógł: 29
Dołączył: 5.04.2007
Skąd: Rymanów Zdrój/Rzeszów

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


zrobiłem tak jak napisałeś nospor.

więc wsadze w code

Kod
    function ReplacePhoto( $String ) {
  if ( $String != "" ) {
  $String = preg_replace('/\[PHOTO\](\d+)\[\/PHOTO\]/','<a href="#" onclick="window.open(\'../photos/\1.jpg'.'\',\'\',\'width=820,height=620,top=5,left=5,scrollbars,resizable\');return false;"><img src="../photos/thumbs/\1.jpg" class="a_img"></a>',$String);
  }
  return $String;
  }


Kod
case 'AddToDatebase': {
                    $Db = new Engine(HOST, USER, DBPASSWORD, NAME);
                    if ( $Db->IsConnected ) {
                    ReplacePhoto($_POST['StartpageContent']);
                        $Db->Query("INSERT INTO Startpage ( StartpageID,StartpageContent,StartpageDate ) VALUES ( '','".addslashes($StartpageContent)."',Now() );");
                    }
                    $Db->Close();
                    Direction('Startpage.php');
                    break;
                }


działa smile.gif dziękuje Panowie smile.gif

nospor, skopiowałem co nie trzeba ;p ale działa smile.gif

Ten post edytował bemol 22.05.2008, 14:46:30


--------------------
Tym ludziom zaufałem i dobrze na tym wyszedłem:
kresh
Darti
piotrekkr
Bez nich wiele bym nie zrobił. Dzięki im za to!
Go to the top of the page
+Quote Post
nospor
post 22.05.2008, 14:44:17
Post #12





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
zrobiłem tak jak napisałeś nospor.
i co teraz, bic? Mowisz ze napisales jak mowilem a dalej w kodzie widze:
ReplacePhoto($_POST['StartpageContent']);

edit up: no, masz szczescie winksmiley.jpg


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 7.07.2025 - 23:30