Udv!
adott egy string ami így néz ki:
string=<***>ez egy adat<****><****>ez is egy adat<****>
namost nekem ebből a stringből kellene az "ez egy adat" ill. "ez is egy adat", tehát valahogy a határoló tagg-ek közül kellene nekem a tartalom, de ráadásul úgy hogy a határoló taggeket csak a "<>" alapján vegye figyelembe "<***ez itt wildcard***>",a <> közötti rész lényegtelen. Ez a formátum egy régi adatbázis fájlban van amit át kellene rakni máshova. Na nem tudom mennyire vagyok érthető ebben kellene valami kis kiindulási alap, azt sejtem, hogy mindenféle egrep pregmatch játék lesz.
Ja a lényeg majdnem kimaradt, mindezt php alatt szeretném elkövetni.
- 1373 megtekintés
Hozzászólások
Van egy csomó sztring függvény, pl: strstr(), strpos(), meg mások is.
Nézz utána mire valók! http://www.php.net/manual/hu/ref.strings.php
Esetleg itt egy puska jellegű, de nem igazán részletes táblázat is: http://www.opendir.hu/?freedom=/tartalom/php/php_array,_string_cheatshe…
PS:A fájlkezelő rész is kellene?
--
не закурить! (Ne gyújts rá!) не куриться! (Ne dohányozz! Ne füstölögj!)
- A hozzászóláshoz be kell jelentkezni
köszi de nem, addig már eljutottam, hogy soronként olvasgatom a stringbe a fájl tartalmát.
itt a kód ha valakinek érdekes...
<?php
$x=0;
$fileforopen="data.file";
if(file_exists($fileforopen) {
while(!feof($file)) {
$file=fopen("$fileforopen","r");
$string=fgets($file);
$x++;
};
} else { echo "Szar van a palacsintában:)))"; };
fclose($file);
?>
- A hozzászóláshoz be kell jelentkezni
Helló!
Szerintem reguláris kifejezéseket kellene használnod a preg_match_all() függvénnyel.
De használhatod az strpos() vagy az stripos() függvényt is. De akkor szükség lesz a substr()-re is.
- A hozzászóláshoz be kell jelentkezni
php.net/preg_match_all
es gratulalok a cimvalasztashoz!
t
- A hozzászóláshoz be kell jelentkezni
kössz neked is az infót, de ne kötekedj!
- A hozzászóláshoz be kell jelentkezni
ok, köszi az infókat megpróbálom...
- A hozzászóláshoz be kell jelentkezni
Egy rákot, kollégák... A topiknyitó evidens, hogy a html tagektől akar megszabadulni. Hát erre van a strip_tags($sztring), kérem szépen.
Ha nem lenne ez jó, akkor a preg_replace('@<[\/\!]*?[^<>]*?>@si','',$sztring) is megteszi.
- A hozzászóláshoz be kell jelentkezni
csak épp neki kellenek az adatok külön-külön, mittomén egy tömbbe pl, ha jól értelmezem.
--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.
- A hozzászóláshoz be kell jelentkezni
írsz egy ciklust, ami egy üres tömbbel indul, karakterről-karakterre elemzi a stringet, a tagek között karakterről-karakterre másolja a stringet, és amikor újabb tag jön, akkor belerakja az addig lemásolt részt a tömb következő indexébe
--
The Net is indeed vast and infinite...
http://gablog.eu
- A hozzászóláshoz be kell jelentkezni
jajjhat, mire van a regex?!
- A hozzászóláshoz be kell jelentkezni
Csak a flame kedveert: to shoot yourself in the foot.
Azzal tenyleg egyszerubb, de szeretek automatat irni >D
--
The Net is indeed vast and infinite...
http://gablog.eu
- A hozzászóláshoz be kell jelentkezni
Na, még egyszer, ezúttal függvénnyé alakítva a dolgot:
$sztring = '<b>Bold</b><div style='valami'>div volt</div>';
$szoveghatar = "|";
print_r(html2array($sztring,$szoveghatar));
exit;
function html2array($sztring,$szoveghatar)
{
$elokeszit = preg_replace('@<[\/\!]*?[^<>]*?>@si',$szoveghatar,$sztring);
//****** Kiküszöböljük a halmozott határokat
$sztring = preg_replace("@[$szoveghatar]+@si",$szoveghatar, $elokeszit);
$tomb = explode( $szoveghatar,trim($sztring,$szoveghatar));
return $tomb;
}
- A hozzászóláshoz be kell jelentkezni