Autor | Zpráva | ||
---|---|---|---|
Muty Profil |
#1 · Zasláno: 21. 5. 2007, 22:44:21
Zdravim!
Uz delsi dobu se snazim vytvorit regularni vyraz, ktery by dokazal projit soubor, ktery je ulozeny v promnene a vytahnout od tamtud data, ktere budou oznaceny <!-- titulek(TEXTKEXTRAHACI) -->. BOhužel se mi nedarilo a casova tisen mi nedovoli se tomu vice venovat proto prosim o pomoc zkusenejsi, pro ktere to urcite nebude problem. Dekuji |
||
Retal Profil |
#2 · Zasláno: 22. 5. 2007, 00:54:37
preg_match_all('@<!-- titulek(([^)]+)) -->@U', $vstup, $vystup); |
||
Muty Profil |
#3 · Zasláno: 22. 5. 2007, 07:19:41
tento vyraz jsem zkusil v teto konstrukci:
$adr="data/".$compilpage.".html"; $page=fopen($adr,r); $filesize=filesize($adr); $pagedate=fread($page,$filesize); fclose($page); if(preg_match_all('@<!-- titulek(([^)]+)) -->@U', $pagedata, $titulek)); { print_r($titulek); $this->settitle($titulek[0]); } a vypise Array ( [0] => Array ( ) [1] => Array ( ) [2] => Array ( ) ) obsah souboru ktery se nacita: <!-- titulek(pokus) --> pokus |
||
Muty Profil |
#4 · Zasláno: 22. 5. 2007, 07:20:03
Napada Vas co s im?
|
||
Mastodont Profil |
#5 · Zasláno: 22. 5. 2007, 07:48:29 · Upravil/a: Mastodont
Kulatý závorky je nutný escapovat. Zkus
if(preg_match_all('@<!-- titulek#([^)]+#) -->@U', $pagedata, $titulek)); Namísto # patří zpětné lomítko. |
||
Retal Profil |
#6 · Zasláno: 22. 5. 2007, 12:32:27
Aha, já je escapnul, ale systém to sežral při poslání příspěvku. Jak říká Mastodont, doplň zpětná lomítka, nicméně, Mastodonte, tvůj kód je chybný, chybí ti tam neescapované závorky. :)
preg_match_all('@<!-- titulek#(([^)]+)#) -->@U', $vstup, $vystup); Zaměň # za zpětné lomítko. |
||
Mastodont Profil |
#7 · Zasláno: 22. 5. 2007, 12:44:50 · Upravil/a: Mastodont
Retal
No mně to totiž funguje i bez nich. Neescapované závorky tam dáváš snad jen tehdy, když chceš pak s obsahem závorek pracovat jako se subvýrazem, třeba při nahrazování, ne? Konkrétně - proč [^)]+ dávat ještě do závorek? |
||
Retal Profil |
#8 · Zasláno: 22. 5. 2007, 15:04:12
Protože ho chce Muty získat? :)
|
||
Muty Profil |
#9 · Zasláno: 22. 5. 2007, 15:09:24 · Upravil/a: Muty
Děkuji,
nimene mam posledni dotaz a to kdyz mam vystup Array ( [0] => Array ( [0] => ) [1] => Array ( [0] => pokus ) ) tak jak se mam dostat k tomu pokus? |
||
Retal Profil |
#10 · Zasláno: 22. 5. 2007, 16:13:35
Pokud těch "pokusů" budeš mít víc, pak:
Jinak stačí $a = $vystup[1][0]; |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0