Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wybieranie tekst ze środka tagów
Thuunder
post
Post #1





Grupa: Zarejestrowani
Postów: 234
Pomógł: 1
Dołączył: 29.10.2004

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


Witam!

Mam pytanie jak napisać funkcję, która wybierze mi z określonego tagu html wszystko co się znajduje między znacznikami np.div? Mam kod html. np.
  1. <div><a href="link">jakis tam link</a> itp. </div>

wybierze mi
  1. <a href="link">jakis tam link</a> itp.


Wyszukać można funkcją preg_match do znalezienia tagów ale nie wiem do końca jak to zastosować i jak wybrać tekst z pomiędzy tagów... ?

Ten post edytował Thuunder 2.07.2006, 19:58:54
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
MatheW
post
Post #2





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 29.05.2006
Skąd: Lublin

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


Ja bym najpierw znalazł ciąg '<div', zapisał jego pozycję i od niej znalazł pierwszy nawias ostry '>' (bo przecież w div może być style i nie będzie to '<div>`), również zapisujemy jego pozycje. Następnie od tego znaku poszukujesz '</div>' i zapisujesz pozycje. To co masz pomiędzy pozycja '>' a '</div>' to to czego szukasz.
Go to the top of the page
+Quote Post
Vogel
post
Post #3





Grupa: Zarejestrowani
Postów: 402
Pomógł: 0
Dołączył: 20.01.2003

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


Cytat(MatheW @ 2.07.2006, 21:10 ) *
Ja bym najpierw znalazł ciąg '<div', zapisał jego pozycję i od niej znalazł pierwszy nawias ostry '>' (bo przecież w div może być style i nie będzie to '<div>`), również zapisujemy jego pozycje. Następnie od tego znaku poszukujesz '</div>' i zapisujesz pozycje. To co masz pomiędzy pozycja '>' a '</div>' to to czego szukasz.

tak, fajnie. tylko po co na okolo skoro mamy wyrazenia regularne?

  1. <?php
  2. $out = preg_replace("#.*?<div.*?>(.*?)</div>(.*?)#si", "$1<br />", $input_text);


i w $out dosteniesz liste wszystkiego co bylo w elementach blokowych poodzielane <br />-ami. dalej juz sobie z tym poradzisz.
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: 28.12.2025 - 17:55