Autor | Zpráva | ||
---|---|---|---|
Celebi Profil |
#1 · Zasláno: 31. 8. 2006, 18:50:14
Mám data formátu:
$promenna="<TR><TD>1/132</TD> <TD> R</TD> <TD> <a href=/tcg/scans/heroes/blaines_moltres.jpg target=_new>Blaines Moltres</a></TD> <TD> Rare (Holo)</TD> <TR><TD>2/132</TD> <TD> F</TD> <TD> <a href=/tcg/scans/heroes/brocks_rhydon.jpg target=_new>Brock's Rhydon</a></TD> <TD> Rare (Holo)</TD>"; A potřebuji z nich pomocí regulérních výrazů nějak dostat: <img src="/tcg/scans/heroes/jmeno_pokemona.jpg"> jmeno_pokemona značí např. u prvního odkazu "blaines_moltres". Pokoušel jsem se to nějak dát dohromady sám, ale všechno co jsem vyzkoušel nemělo žádný efekt. |
||
Joker Profil |
#2 · Zasláno: 31. 8. 2006, 21:18:37
Za prvé: REGULÁRNÍ výrazy, ne regulérní výrazy ;)
Za další, ten HTML kód má mít uvozovky: <TD> <a href="/tcg/scans/heroes/blaines_moltres.jpg" target="_new"> No a potom bych si to rozsekal na TD a vyzobnul podle jednoduchého regulárního výrazu: '<a href="(.+)" target="_new">' |
||
Celebi Profil |
#3 · Zasláno: 31. 8. 2006, 22:33:05
Tak dobře kde dělám chybu? Rozsekal jsem si to na <td> a $ti symbolizuje jeden kousel toho řetězce. Nepochopil jsem jak podle tohodle můžu z toho dostat to co chci. Potřebuji dostat čistě toto:
<img src="/tcg/scans/heroes/jmeno_pokemona.jpg"> od každého obrázku (kterých je asi 130 - proto to nechci dělat ručně a dělám to přes php) a nic jiného. Netuším jestli mám použít ereg_replace, ergi_replace, preg_replace ani podle čeho rozlišit co mám použít. Byl bych velice vděčný za hotové řešení nebo alespoň za polopatický návod jak na to. $ti=Eregi_Replace("<a href="(.+)" target="_new">", "<img src=http://www.neco.cz/tcg/scans/heroes/\\0.jpg>", $ti); |
||
Nox_lbc Profil |
#4 · Zasláno: 1. 9. 2006, 00:32:12
stačí ereg_replace nebo preg_replace ... jde o tvotbu masky ... protože EREG má podobnou, ale trochu jinou syntaxi než PREG ... princip je stejný ... a preg je možná rychlejší ...
tobě stačí vytáhnout toto: ---href="/tcg/scans/heroes/blaines_moltres.jpg"--- Tohle mi vyšlo ... href=\"\/?(.*)(\/{1})([A-Za-z0-9_-]*\.[[:alnum:]]{3,4})\" adresu obrázku budeš mít v $2 místo \\0 v předochozím příspěvku ... Zkus ten text prohnat přes ereg_replace(); s touhle maskou ... uvidíš .. kdyžtak to odladíš =) |
||
Celebi Profil |
#5 · Zasláno: 1. 9. 2006, 10:04:57
Tento skript jsem dal dohromady a beze změny mi vypsal to co jsem vložil do proměnné $t. Takže už vážně nevím.
$t="<TR><TD>1/132</TD> <TD> R</TD> <TD> <a href=/tcg/scans/heroes/blaines_moltres.jpg target=_new>Blaines Moltres</a></TD> <TD> Rare (Holo)</TD> <TR><TD>2/132</TD> <TD> F</TD> <TD> <a href=/tcg/scans/heroes/brocks_rhydon.jpg target=_new>Brock's Rhydon</a></TD> <TD> Rare (Holo)</TD>"; $ty=explode("<TD>", $t); for($i=0;$i<Count($ty);$i++): $tis=$ty[$i]; $tis=ereg_replace("href=\"\/?(.*)(\/{1})([A-Za-z0-9_-]*\.[[:alnum:]]{3 ,4})\" ", "<img src=http://pokemon.tcgplayer.com/tcg/scans/heroes/\\2.jpg>", $tis); $ty[$i]=$tis; endfor; for($i=0;$i<Count($ty);$i++): echo "$ty[$i]"; endfor; |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0