Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak wyciągnąć ciąg zniaków z rekordu, który zawiera kod php?
moniek.fm
post 22.01.2012, 19:58:26
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 22.01.2012

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


Witam wszystkich.

Mam problem taki jak w tytule. Posiadam w bazie danych rekord w którym jest zapisana kod php części strony. Potrzebuję wyciągnąć z niego tylko to co jest pomiędzy znacznikami <div> </div>. Próbowałem przy użyciu LIKE ale niestety się udało. Może ktoś spotkał się kiedyś z czymś takim. W necie nie znalazłem odpowiedzi, a sam jestem za głupi żeby sobie poradzić. Proszę o pomoc

Go to the top of the page
+Quote Post
piotrooo89
post 22.01.2012, 20:38:09
Post #2


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




a co pozwala Ci jednoznacznie określić że w danym wierszu w danej kolumnie jest kod php? bo bez tego to się nic nie zrobi bo nie wiadomo jak tego szukać.


--------------------
Go to the top of the page
+Quote Post
moniek.fm
post 22.01.2012, 21:11:01
Post #3





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 22.01.2012

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


Ups sorry...
Wdała się pomyłka. TO nie jest php tylko html. W każdym razie problem dla mnie nie do przeskoczenia.

Go to the top of the page
+Quote Post
piotrooo89
post 22.01.2012, 21:17:05
Post #4


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




no to co tam masz, jaki html? musisz mieć jakiś jeden tag, który Ci to pozwoli zidentyfikować.


--------------------
Go to the top of the page
+Quote Post
moniek.fm
post 22.01.2012, 21:43:57
Post #5





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 22.01.2012

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


Chce wyciągnąć z tego rekordu taki tekst:

<div class="itemContainerMain">
<span class="title">
<a href="/link/target.php" title="target" target="_blank">target</a>
</span>
<a href="/link/target2.php" title="target2" target="_blank">
<img src="/jpg/thumbs/240x180/1924/3846335/1.jpg" alt="target2" width="240" height="180" /></a>
<span class="sortLinks">
<a href="/link/link.php" title="link" target="_blank">link1</a> / <a href="/link/link2.php" title="link2" target="_blank">link2</a> / <a href="/link/link3.php" title="link3" target="_blank">link3</a> / <a href="/link/link4.php" title="link4" target="_blank">link4</a></span>
</div>

Przed tym tekstem i po nim jest dalsza część strony.
Proszę o pomoc...
Go to the top of the page
+Quote Post
piotrooo89
post 22.01.2012, 22:26:02
Post #6


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




jest taki hack-way

  1. SELECT SUBSTRING(nazwa FROM LOCATE('<div', nazwa) FOR LOCATE('</div>', nazwa, LOCATE('<div', nazwa))-LOCATE('<div', nazwa)+6) FROM test;


ale lepiej takie dane obrabiać po stronie aplikacji.


--------------------
Go to the top of the page
+Quote Post
moniek.fm
post 23.01.2012, 21:29:42
Post #7





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 22.01.2012

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


Kurcze dzięki za odpowiedź. Zaraz to spróbuje przetestować. Prosiłbym jeszcze o kilka słów wyjaśnienia odnośnie tego co napisałeś bo mogę sobie sam nie poradzić. Chciałbym też wiedzieć dlaczego takie operacje lepiej wykonać po stronie aplikacji...

Pozdrawiam.

Cytat(piotrooo89 @ 22.01.2012, 22:26:02 ) *
jest taki hack-way

  1. SELECT SUBSTRING(nazwa FROM LOCATE('<div', nazwa) FOR LOCATE('</div>', nazwa, LOCATE('<div', nazwa))-LOCATE('<div', nazwa)+6) FROM test;


ale lepiej takie dane obrabiać po stronie aplikacji.



Zrobiłem jak w podanym kodzie. Niby wszystko teraz działa, ale pojawił pojawił się nowy problem. W wyniku mam: Resource id #6. Czyli znów robię coś nie tak.
Pomóżcie..
Go to the top of the page
+Quote Post
piotrooo89
post 23.01.2012, 22:43:24
Post #8


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




Cytat(moniek.fm @ 23.01.2012, 21:29:42 ) *
Kurcze dzięki za odpowiedź. Zaraz to spróbuje przetestować. Prosiłbym jeszcze o kilka słów wyjaśnienia odnośnie tego co napisałeś bo mogę sobie sam nie poradzić. Chciałbym też wiedzieć dlaczego takie operacje lepiej wykonać po stronie aplikacji...


zapytanie jest proste substring - wycinanie tekstu z podanego zakresu, Ty jako iż nie wiesz w jakim miejscu musisz zacząć wycinać więc określasz sobie to za pomocą locate.

Cytat(moniek.fm @ 23.01.2012, 21:29:42 ) *
Zrobiłem jak w podanym kodzie. Niby wszystko teraz działa, ale pojawił pojawił się nowy problem. W wyniku mam: Resource id #6. Czyli znów robię coś nie tak.
Pomóżcie..


no ale pokaż jakiś kod, który Ci to zwraca...


--------------------
Go to the top of the page
+Quote Post
ShadowD
post 23.01.2012, 23:38:37
Post #9





Grupa: Zarejestrowani
Postów: 1 333
Pomógł: 137
Dołączył: 25.03.2008
Skąd: jesteś??

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


Nie możesz pobrać tej wartości w całości i użyć prega?


--------------------
Mój blog - o wszystkim i niczym ale zazwyczaj związane z informatyką! ;-)
Githube

Usługi spawalnicze i monterskie | Park linowy Lublin i Okunince
Go to the top of the page
+Quote Post
moniek.fm
post 24.01.2012, 22:24:18
Post #10





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 22.01.2012

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


Witam ponownie wszystkich.
W końcu sobie z tym poradziłem. Resource id #6 pojawiało mi się ze względu na to że omyłkowo wynik próbowałem drukować przez mysql_query() zamiast mysql_fetch_array(). Już jak się zorientowałem w czym tkwi problem postanowiłem wynik zapytania wpisać również do bazy danych. Niestey wtedy baza zaczęła wariować. Z pomocą przyszedł: mysql_escape_string() i już wszystko śmiga jak należy!

piotrooo89 - WIELKIE DZIĘKI!!!

P.S.
ShadowD mógłbyś trochę rozwinąć swój post. Może twoje rozwiązanie będzie prostsze...
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: 26.04.2024 - 11:56