Autor | Zpráva | ||
---|---|---|---|
MelkorNemesis Profil |
#1 · Zasláno: 16. 12. 2008, 23:44:55
Ahoj, mam uz 3hodinovy problem a nemuzu se ho zbavit. Potrebuju z textu vyhodit tabulku.
Toto je muj regular - preg_match('~<table (.*)/table>~', $string, $matches); // tady preg_match neco aspon najde, ale preg_replace to nepremaze preg_match('~<table (.*)>(.*)</table>~', $string, $matches); // tady preg_match nenajde nic a text retezce (pro ukazku) <p><span style="color: #000000; font-family: Verdana;"> <table border="0" cellspacing="0" cellpadding="0" align="left"> <tbody> <tr> <td valign="top"> <p>20. 12. 2008</p> </td> <td valign="top"> <p>sobota</p> </td> <td valign="top"> <p>13 – 17 hodin</p> </td> </tr> <tr> <td valign="top"> <p>21. 12. 2008</p> </td> <td valign="top"> <p>neděle</p> </td> <td valign="top"> <p>13 – 17 hodin</p> </td> </tr> <tr> <td valign="top"> <p>22. 12. 2008</p> </td> <td valign="top"> <p>pondělí</p> </td> <td valign="top"> <p>zavřeno</p> </td> </tr> <tr> <td valign="top"> <p>23. 12. 2008</p> </td> <td valign="top"> <p>úterý</p> </td> <td valign="top"> <p>9 – 17 hodin</p> </td> </tr> <tr> <td valign="top"> <p>24. 12. 2008</p> </td> <td valign="top"> <p>středa</p> </td> <td valign="top"> <p>zavřeno</p> </td> </tr> <tr> <td valign="top"> <p>25. 12. 2008</p> </td> <td valign="top"> <p>čtvrtek</p> </td> <td valign="top"> <p>zavřeno</p> </td> </tr> <tr> <td valign="top"> <p>26. 12. 2008</p> </td> <td valign="top"> <p>pátek</p> </td> <td valign="top"> <p>zavřeno</p> </td> </tr> <tr> <td valign="top"> <p>27. 12. 2008</p> </td> <td valign="top"> <p>sobota</p> </td> <td valign="top"> <p>13 – 17 hodin</p> </td> </tr> <tr> <td valign="top"> <p>28. 12. 2008</p> </td> <td valign="top"> <p>neděle</p> </td> <td valign="top"> <p>13 – 17 hodin</p> </td> </tr> <tr> <td valign="top"> <p>29. 12. 2008</p> </td> <td valign="top"> <p>pondělí</p> </td> <td valign="top"> <p>zavřeno</p> </td> </tr> <tr> <td valign="top"> <p>30. 12. 2008</p> </td> <td valign="top"> <p>úterý</p> </td> <td valign="top"> <p>9 – 17 hodin</p> </td> </tr> <tr> <td valign="top"> <p>31. 12. 2008</p> </td> <td valign="top"> <p>středa</p> </td> <td valign="top"> <p>zavřeno</p> </td> </tr> <tr> <td valign="top"> <p>1. 1. 2009</p> </td> <td valign="top"> <p>čtvrtek</p> </td> <td valign="top"> <p>zavřeno</p> </td> </tr> <tr> <td valign="top"> <p>2. 1. 2009</p> </td> <td valign="top"> <p>pátek</p> </td> <td valign="top"> <p>9 – 17 hodin</p> </td> </tr> </tbody> </table> </span></p> <p> </p> Diky vsem za pripominky |
||
nixxy Profil * |
#2 · Zasláno: 17. 12. 2008, 00:10:42
* vyreseno po ICQ
pro zajemce: ~(<table[^>]*>.*</table>)~i |
||
bohyn Profil |
#3 · Zasláno: 17. 12. 2008, 09:06:57
nixxy
To sice smaze <table> a </table>, ale necha ti tam spoustu jinych tagu $string = preg_replace("/<table.*?>|<\/table>|<tr.*?>|<\/tr>|<td.*?>|<\/td>|<tbody.*?>|<\/tbody>/i", "", $string); I tak ale zbyde docela smetiste - vnorene odstavce do sebe a vnorene blokove elementy do inline |
||
blaaablaaa Profil |
#4 · Zasláno: 17. 12. 2008, 09:12:48
bohyn
myslim, ze .* bere v podtaz vsechno mezi <table> a </table> ... takze i tr, td, tbody, ... |
||
bohyn Profil |
#5 · Zasláno: 17. 12. 2008, 09:17:10
blaaablaaa
Prave ze ano. To co ma on, odstrani jen <table> a </table>, vsechno co je mezi necha tak jak je. |
||
MelkorNemesis Profil |
#6 · Zasláno: 17. 12. 2008, 11:24:40
$string = preg_replace("~\n~", '', $string); $string = preg_replace('~<table[^>]*>.*</table>~m', '', $string); tohle odstrani vsechno mezi <table> a </table> - coz jsem potreboval |
||
bohyn Profil |
#7 · Zasláno: 17. 12. 2008, 11:30:40
MelkorNemesis
Aha tak to se vsem omlouvam, pochopil sem to tak ze se chces zbavit tabulky a nechat obsah. |
||
MelkorNemesis Profil |
#8 · Zasláno: 17. 12. 2008, 16:04:35
bohyn: vpohode, potreboval sem to proto, ze mam nejaky clanek a obsahuje tabulku, jenze ja to orezavam na 30 slov..a kdyz useknu tabulku v pulce, tak se vyrenderuje az jako posledni a mimo div, tak sem se ji musel zbavit.
|
||
Časová prodleva: 30 dní
|
|||
danko Profil * |
#9 · Zasláno: 16. 1. 2009, 15:37:01
all: no ono je to sice fajn, ze to odstrani tabulku, a pre ten konkretny pripad pre aky to potreboval to je v poho, ale ked uz to je tu nakusnute tak by som sa chcel spytat ako ale poriesit v preg_replace to aby odstranilo len tabulku.... uvediem priklad
mam html <table><tr><td>blabla</td></tr></table> <p>nejaky dalsi text</p> <table><tr><td>bleble</td></tr></table> potom hore uvedeny prikaz spravi to ze odstrani vsetko aj s tagom <p>. da sa to vyriesit v preg_replace??? alebo to treba pisat rucne ... |
||
Časová prodleva: 15 let
|
0