Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php]wyrażenie regularne
szmerak
post
Post #1





Grupa: Zarejestrowani
Postów: 286
Pomógł: 12
Dołączył: 23.11.2006
Skąd: WL

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


Napisałem na szybko takie coś:
  1. include 'db.inc.php';
  2. $sql = "SELECT text FROM servers WHERE id=1";
  3. $query = mysqli_query($db, $sql);
  4. $row = mysqli_fetch_array($query);
  5. echo $row[text];
  6. $url = preg_match("@\[img\](http:\/\/[a-zA-Z0-9\/.]+)\[\/img\]@i", $row[text], $url1);
  7. $go = $url1[0];
  8. $go = preg_replace("/\[img\]/", "", $go);
  9. $go = preg_replace("/\[\/img\]/", "", $go);
  10. if($url)
  11. {
  12. echo "<br><br>zawiera<br>";
  13. echo $go;
  14. }else{
  15. echo "<br><br>nie zawiera<br>";
  16. }


I teraz pytanie jak zrobić aby pobierał i wsadzał do tablicy wszystkie znalezione wyniki pasujące do wyrażenia nie tylko pierwszy jaki znajdzie?

pewnie proste ale z wyrażeń regularnych nie jestem za dobry (IMG:style_emoticons/default/tongue.gif)
dopiero zaczełem się uczyć

Ten post edytował szmerak 20.05.2011, 18:52:20
Go to the top of the page
+Quote Post
plej
post
Post #2





Grupa: Zarejestrowani
Postów: 264
Pomógł: 11
Dołączył: 9.05.2011
Skąd: Gdańsk

Ostrzeżenie: (10%)
X----


ma wybierać wszystkie dane z bazy? o id 1?
to musisz pętle dać(IMG:style_emoticons/default/smile.gif)
przykład:

  1. $query = ""; //zapytanie
  2. $result = mysql_query($query); // wykonanie zapytania
  3. if (!$result) { // sprawdzenie czy nie ma błędu
  4. die("Nie można wykonac zapytania do bazy danych". mysql_error) ;
  5. }
  6. while ($row = mysql_fetch_assoc($result) { // pobranie wyników
  7. echo $row[text]; // nie musi być tu 'echo' wystarczy że $row["text" przypiszesz do zmiennej i wtedy lepiej sie posługiwac zmienną:)
  8. // wrzuc reszte do pętli pobaw się
  9. }
  10.  
  11.  



a tu masz fajne filmiki: http://www.uw-team.org/videoarty_kurs_php.html

warto obejrzeć je sporo cię nauczą (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
szmerak
post
Post #3





Grupa: Zarejestrowani
Postów: 286
Pomógł: 12
Dołączył: 23.11.2006
Skąd: WL

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


Udam że tego postu wyżej nie było.
Czekam na dalszą pomoc
Go to the top of the page
+Quote Post
plej
post
Post #4





Grupa: Zarejestrowani
Postów: 264
Pomógł: 11
Dołączył: 9.05.2011
Skąd: Gdańsk

Ostrzeżenie: (10%)
X----


Czemu udasz że nie było?? wystarczy ruszyć główką i ci pomoże.
Bo nie napisałem ci całego gotowego kodu? tylko mały przykład?
skoro nie chce ci sie myśleć ani bawić to przerzuć się na html


Pozdro.(IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
szmerak
post
Post #5





Grupa: Zarejestrowani
Postów: 286
Pomógł: 12
Dołączył: 23.11.2006
Skąd: WL

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


  1. include 'db.inc.php';
  2. $sql = "SELECT text FROM servers WHERE id=1";
  3. $query = mysqli_query($db, $sql);
  4. $row = mysqli_fetch_array($query);
  5. echo $row[text];
  6. $url = preg_match("@\[img\](http:\/\/[a-zA-Z0-9\/.]+)\[\/img\]@i", $row[text], $url1);
  7. $go = $url1[0];
  8. $go = preg_replace("/\[img\]/", "", $go);
  9. $go = preg_replace("/\[\/img\]/", "", $go);
  10. if($url)
  11. {
  12. echo "<br><br>zawiera<br>";
  13. echo $go;
  14. }else{
  15. echo "<br><br>nie zawiera<br>";
  16. }

I teraz pytanie jak zrobić aby pobierał i wsadzał do tablicy wszystkie znalezione wyniki pasujące do wyrażenia nie tylko pierwszy jaki znajdzie?

Co twoja wypowiedź wnosi do tego tematu?

Ten post edytował szmerak 20.05.2011, 19:32:03
Go to the top of the page
+Quote Post
plej
post
Post #6





Grupa: Zarejestrowani
Postów: 264
Pomógł: 11
Dołączył: 9.05.2011
Skąd: Gdańsk

Ostrzeżenie: (10%)
X----


Cytat
nie tylko pierwszy jaki znajdzie?


wniosek? użyć pętli? bo tak jak masz to ci pobiera tylko jeden wynik pierwszy?
Go to the top of the page
+Quote Post
szmerak
post
Post #7





Grupa: Zarejestrowani
Postów: 286
Pomógł: 12
Dołączył: 23.11.2006
Skąd: WL

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


Dam ci przykład
Tekst
Want to stop looking for a great server to go on, and finally find one? Great, you should stop here! Trust me, you'sad"""// (img)http://sadfasdf.pl(/img) SIN Gaming - One of the most popular servers in Minecraft! Our server has a real-time map, an economy, quests, an AWESOME spawn, a cooperative community, shops, cities, houses, NPCs, a slick website
(img)http://sadfsssasdf.pl(/img)


I on zawiera 2x (img)url(/img) - czytaj z [ ]
I jak zrobić aby pobierał każdy który znajdzie a nie tylko pierwszy. Bo tablica url1 zawiera zawsze tylko pierwszy
rozumiesz?

wiem ze uzyc petli tylko nie wiem jak to zrobic. skad pobrac ilosc znalezionych a potem za kazdym razem ominac juz przeprasowane
Go to the top of the page
+Quote Post
plej
post
Post #8





Grupa: Zarejestrowani
Postów: 264
Pomógł: 11
Dołączył: 9.05.2011
Skąd: Gdańsk

Ostrzeżenie: (10%)
X----


Pobiera ci jeden wynika tak? pasujący! to zeby reszte pobrało to co musisz użyć ? pętli !
Go to the top of the page
+Quote Post
szmerak
post
Post #9





Grupa: Zarejestrowani
Postów: 286
Pomógł: 12
Dołączył: 23.11.2006
Skąd: WL

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


Stary jesteś geniuszem dzięKi!
a teraz idź...
Go to the top of the page
+Quote Post
plej
post
Post #10





Grupa: Zarejestrowani
Postów: 264
Pomógł: 11
Dołączył: 9.05.2011
Skąd: Gdańsk

Ostrzeżenie: (10%)
X----


< no coment >


Ten post edytował plej 20.05.2011, 19:41:44
Go to the top of the page
+Quote Post
szmerak
post
Post #11





Grupa: Zarejestrowani
Postów: 286
Pomógł: 12
Dołączył: 23.11.2006
Skąd: WL

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


naprawde napisaliśmy 10 postów które nic nie znaczą a ja czekam na konkretniejsze wskazówki.
to że mam użyć pętli nic mi nie mówi.

Skoro tak wiesz wszystko powiedz mi gdzie mam wsadzić tą pętle...



Ten post edytował szmerak 20.05.2011, 20:05:04
Go to the top of the page
+Quote Post
plej
post
Post #12





Grupa: Zarejestrowani
Postów: 264
Pomógł: 11
Dołączył: 9.05.2011
Skąd: Gdańsk

Ostrzeżenie: (10%)
X----


to od nowa:) pokaż baze danych:) i kod i daj komentarze (IMG:style_emoticons/default/smile.gif)


  1. $go = $url1[0];


[0] dlatego jeden ? lepiej chyba dac puste i dać z pętlą(IMG:style_emoticons/default/smile.gif) i wtedy powinno ci zwracać wszystkie:) rozumiesz? podaj to co ci u góry napisałem:)
Go to the top of the page
+Quote Post
szmerak
post
Post #13





Grupa: Zarejestrowani
Postów: 286
Pomógł: 12
Dołączył: 23.11.2006
Skąd: WL

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


  1. for($x = 0 ; $x < sizeof($url1) ; $x++)
  2. {
  3. echo $url1[$x]."<br>";
  4. }

Patrz się zrobilem tak i daje mi to takie wyniki:
[img)http://sadfasdf.pl[/img)
http://sadfasdf.pl
Go to the top of the page
+Quote Post
plej
post
Post #14





Grupa: Zarejestrowani
Postów: 264
Pomógł: 11
Dołączył: 9.05.2011
Skąd: Gdańsk

Ostrzeżenie: (10%)
X----


ale wyniki z bazy danych też musi ci zwracać w pętli (IMG:style_emoticons/default/smile.gif)
bo tak to ci pobiera pierwszy wynik:) nawet na tych filmikach co ci dałem linka masz o tym:)
Go to the top of the page
+Quote Post
szmerak
post
Post #15





Grupa: Zarejestrowani
Postów: 286
Pomógł: 12
Dołączył: 23.11.2006
Skąd: WL

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


z bazy to ja muszę pobrać tylko jeden text który ma zapisany przy serwerze.
A potem sprawdzyć czy zawiera bbcode (img]
jeśli zawiera to potem dalej....
ale może się tak zdarzyć jak w przykladzie wyzej ze będzie 2 razy (img]
i wtedy potrzebuje ztablicowac oba i dalej...

Podkreślam ze tylko jeden text bo wyswietla sie opis serwera
kuknij na moja strone
http://www.mcservlist.com - to moze zrozumiesz o co mi chodzi
Go to the top of the page
+Quote Post
pmir13
post
Post #16





Grupa: Zarejestrowani
Postów: 282
Pomógł: 89
Dołączył: 12.04.2011

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


Zmień preg_match na preg_match_all, usuń wszystko od linii 7 w dół i zamiast tego:
  1. if($url) {
  2. echo "<br /><br />zawiera<br />";
  3. foreach( $url1[1] as $go )
  4. echo $go."<br />";
  5. }
  6. else {
  7. echo "<br /><br />nie zawiera<br />";
  8. }


Ten post edytował pmir13 20.05.2011, 20:13:29
Go to the top of the page
+Quote Post
szmerak
post
Post #17





Grupa: Zarejestrowani
Postów: 286
Pomógł: 12
Dołączył: 23.11.2006
Skąd: WL

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


Jeeest wkońcu dziła (IMG:style_emoticons/default/biggrin.gif) :D
Dzięki wielkie jesteś geniuszem (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
plej
post
Post #18





Grupa: Zarejestrowani
Postów: 264
Pomógł: 11
Dołączył: 9.05.2011
Skąd: Gdańsk

Ostrzeżenie: (10%)
X----


ehh widzisz złe cię zrozumiałem na początku:) dopiero jak napisałeś dokładnie to skumałem ehh ale już masz rozwiązanie:)
Go to the top of the page
+Quote Post

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.08.2025 - 20:14