Autor | Zpráva | ||
---|---|---|---|
Ice Profil |
#1 · Zasláno: 4. 2. 2007, 10:13:51
Ahoj, mám třeba tento kus kodu
<p class="ad_item">Telefon: <strong>721181920</strong></p> <p class="ad_item"><span class="bracket">[<a href="mailto:iva@centrum.cz">e-mail</a>]</span></p> <p class="ad_item">region: <strong>Praha 5</strong></p> <p class="ad_item">Telefon: <strong>721181920</strong></p> <p class="ad_item"><span class="bracket">[<a href="mailto:idfva@centrum.cz">e-mail</a>]</span></p> <p class="ad_item">region: <strong>Praha 5</strong></p> a potřebuji z něho jen email získat. Nemáte tip na nějaký soft, který dokáže určitou část najít a označit tuto část. Těch záznamů je na 1000 a samo že jsou různé a manuálně to dělat... Díky. |
||
DJ Miky Profil |
#2 · Zasláno: 4. 2. 2007, 10:51:57 · Upravil/a: DJ Miky
Tak jsem něco zkusil v PHP:
<?php Nezkoušel jsem, nezaručuju funkčnost. |
||
Ice Profil |
#3 · Zasláno: 4. 2. 2007, 11:21:33
DJ Miky
Funguje to úplně super. Díky. |
||
Kamahl Profil * |
#4 · Zasláno: 4. 2. 2007, 11:23:10
Tak tohle přesně bych dělal jedině v xml, pak bys to měl snadný, jestli máš možnost to nějak jednoduše konvertovat...
|
||
nightfish Profil |
#5 · Zasláno: 4. 2. 2007, 11:33:43 · Upravil/a: nightfish
a nebo řešení pomocí regulárního výrazu
$data = file("soubor.txt"); |
||
Ice Profil |
#6 · Zasláno: 4. 2. 2007, 12:09:59
DJ Miky
nightfish Vám obou moc díky, bohužel o php moc toho nevim. Mohl bych vás případně poprosit ještě o to, že některé adresy se tam opakuji. Tak aby zustatala pouze jedna? |
||
nightfish Profil |
#7 · Zasláno: 4. 2. 2007, 12:14:15
$data = file("soubor.txt"); |
||
Ice Profil |
#8 · Zasláno: 4. 2. 2007, 12:20:27
nightfish
Háže mně to bohužel tuto chybu Parse error: syntax error, unexpected T_STRING in /var/www/web6/naweb.cz/tst9.naweb.cz/test.php on line 9 |
||
Joker Profil |
#9 · Zasláno: 4. 2. 2007, 12:24:14 · Upravil/a: Joker
Ice
A na řádku 9 je co? edit: Jo a samozřejmě klasika: Nechybí na řádku 8 středník? |
||
Ice Profil |
#10 · Zasláno: 4. 2. 2007, 12:25:00
if (ereg("<span class="bracket">[<a href="mailto:([a-zA-Z0-9.@-_]+)">e-mail", $value, $regs)) {
|
||
Joker Profil |
#11 · Zasláno: 4. 2. 2007, 12:26:45
Ice
Aha, tak to je uvozovkama. Tohle by mělo být OK: if (ereg('<span class="bracket">[<a href="mailto:([a-zA-Z0-9.@-_]+)">e-mail', $value, $regs)) { |
||
koudi Profil |
#12 · Zasláno: 4. 2. 2007, 12:27:45
Ice
Nejsou oescapovaný vnitřní uvozovky. |
||
Joker Profil |
#13 · Zasláno: 4. 2. 2007, 12:31:27 · Upravil/a: Joker
Ne, asi to ještě OK nebude. Asi bude potřeba escapovat některé znaky v tom regulárním výrazu:
if (ereg('<span class="bracket">[<a href="mailto:([a-zA-Z0-9.@-_]+)">e-mail', $value, $regs)) { Ale já osobně bych to zjednodušil a vybíral všechny odkazy na mailto:něco: if (ereg('[<a href="mailto:([a-zA-Z0-9.@-_]+)"', $value, $regs)) { Nevyzkoušeno, může tam být nějaká chybka |
||
Joker Profil |
#14 · Zasláno: 4. 2. 2007, 12:36:01
Hm, koukám, že se mi z toho příspěvku odstranila zpětná lomítka :-/
Tak jinak: if (ereg('<span class=*"bracket*">*[<a href=*"mailto:([a-zA-Z0-9.@-_]+)*">e-mail', $value, $regs)) { respektive: if (ereg('<a href=*"mailto:([a-zA-Z0-9.@-_]+)*"', $value, $regs)) { Tam kde jsem udělal hvězdičky patří zpětné lomítko. |
||
Ice Profil |
#15 · Zasláno: 4. 2. 2007, 12:36:57
POrad se tomu nechce
nightfish uz ten jeho prvni naznak nechtel jet chyba na 9 radku, Od Mikiho to jelo bez problému |
||
Ice Profil |
#16 · Zasláno: 4. 2. 2007, 12:38:23
Joker
respektive: if (ereg('<a href=*"mailto:([a-zA-Z0-9.@-_]+)*"', $value, $regs)) { tahle varianta uz jede . Tak diky vsem. |
||
nightfish Profil |
#17 · Zasláno: 4. 2. 2007, 12:38:47
zapomněl jsem, že diskuse požírá zpětná lomítka, pokud nejsou správně oescapována
takže si vem ten můj první příspěvek a doplň změny podle druhého a bude to fungovat jinak tip: a) chcete-li napsat \, do příspěvku napište \\ b) chcete-li napsat \", do příspěvku napište \\\" |
||
Joker Profil |
#18 · Zasláno: 4. 2. 2007, 12:42:40
zapomněl jsem, že diskuse požírá zpětná lomítka
Hehe, stejný problém. A předpokládám, že při editaci příspěvku je potřeba všechna zpětná lomítka zase zdvojit. |
||
nightfish Profil |
#19 · Zasláno: 4. 2. 2007, 12:49:19
Joker
jj, přesně tak |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0