| Autor | Zpráva | ||
|---|---|---|---|
| xxxadam577 Profil |
#1 · Zasláno: 4. 7. 2016, 17:11:42
Zdravím, mám problém.
preg_match_all("/<a\s[^>]*href=(\"??)(http[^\" >]*?)\\1[^>]*>(.*)<\/a>/siU", $html, $http); <a href="http://dejepiskmaturite.wz.cz/">Hlavní strana</a> http://dejepiskmaturite.wz.cz/ <a href="/v-tomto-formátu/">
Hodně s tím bojuji. Velmi by mi to pomohlo. |
||
| TomášK Profil |
#2 · Zasláno: 4. 7. 2016, 18:20:27
Můžeš zkusit HTML parser, ten je narozdíl od regulárních výrazů určený pro parsování html.
$dokument = new DOMDocument();
$dokument->loadHTMLFile('http://jecas.cz/php-parsovani-html');
$odkazy = $dokument->getElementsByTagName('a');
foreach ($odkazy as $odkaz) {
echo $odkaz->getAttribute("href");
}Zdroj: Parsování HTML v PHP |
||
| xxxadam577 Profil |
#3 · Zasláno: 4. 7. 2016, 18:34:42
Ahoj, zajímavé, ale rád bych to udělal pomocí preg_match_all. Prosím pomůžeš mi??
|
||
| TomášK Profil |
#4 · Zasláno: 4. 7. 2016, 19:45:19
Já ne, považuju to za špatné řešení. Ale někdo jiný hádám ano, na regulární výrazy tu bývá poměrně dost odpovědí.
|
||
| xxxadam577 Profil |
#5 · Zasláno: 4. 7. 2016, 19:50:25
Řekněme, že tvé řešení je dobré, ale co když to budu chtít zapsat do DB, ale nejdřiv ten odkaz prokouknout, jestli je tam vše co chci.
|
||
| pcmanik Profil |
#6 · Zasláno: 4. 7. 2016, 20:11:43
xxxadam577:
Tak použijes curl a pozrieš sa nie? Kde je problém? O čo sa vlastne snažíš? Uveď prosím celý kontext. |
||
| xxxadam577 Profil |
#7 · Zasláno: 4. 7. 2016, 20:20:00
s curl nemám zkušenosti. Verze Toma se mi líbí, ale jak vypsat pouze jeden odkaz???
|
||
| pcmanik Profil |
#8 · Zasláno: 4. 7. 2016, 20:43:39
xxxadam577:
$odkazy->item(0)->getAttribute("href");Používaj dokumentáciu. Toto fórum neslúži ako výučba začiatočníkov. |
||
|
Časová prodleva: 9 let
|
|||
0