Autor Zpráva
Celebi
Profil
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
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
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">", "&lt;img src=http://www.neco.cz/tcg/scans/heroes/\\0.jpg&gt;", $ti);
Nox_lbc
Profil
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
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;
Toto téma je uzamčeno. Odpověď nelze zaslat.

0