Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> podmiana DIV
nospor
post 28.08.2018, 16:02:03
Post #1





Grupa: Moderatorzy
Postów: 36 446
Pomógł: 6292
Dołączył: 27.12.2004




Hejka, idzie jakos w php bez uzycia DOM podmienic w danym tekscie html jakiegos DIVa? Powiedzmy ze DIV bedzie mial okreslona klase. Caly problem polega na tym, ze w srodku diva bedzie dosc sporo kodu html wraz z innymi DIVami itp wiec nie moge uzyc banalnego wyrazenia regularnego.
Cos kiedys widzialem jakis kod na to, ale nie moge teraz zlokalizowac.

ps: nie chcialbym uzywam do tego DOM. Aktualnie w kodzie ktory musze poprawic uzywany jest Zend_Dom_Query() ale z racji faktu, ze tekst zawiera znaki spoza kodowania utf8 to na wyniku znaki te zamieniaja sie w krzaczki. Wlasnie z tego powodu poszukuje rozwiazania bez DOM.

ps2: kod html w podmienianym DIV bedzie na 100% poprawny, bez brakujacych znacznikow domykajacych itp


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
kapslokk
post 28.08.2018, 16:09:06
Post #2





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Jedyne co mi przychodzi do glowy to uzycie: http://php.net/manual/en/regexp.reference.recursive.php
Ale to performance'owo chyba troche kiepsko wypada.
Go to the top of the page
+Quote Post
nospor
post 28.08.2018, 16:26:07
Post #3





Grupa: Moderatorzy
Postów: 36 446
Pomógł: 6292
Dołączył: 27.12.2004




wydajnosc tu nie ma znaczenia. recursive pattern.... hm, musze w takim razie spojrzec co i jak bo sie jeszcze nie bawilem

edit: no dobra, tu sie chyba to nie przyda bo rekurencja wymaga pojawienia w srodku podobnego ciagu a u mnie w srodku mojego DIV z dana klasa nie bedzie juz takiego DIV z ta klasa. Ba, moze w ogole nie byc DIVa, moga byc <p> <span> <table> bez divow


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
kapslokk
post 28.08.2018, 16:28:59
Post #4





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


A czy mozesz wrzucic gdzies przyklad danych wejsciowych i oczekiwany wynik?
Go to the top of the page
+Quote Post
nospor
post 28.08.2018, 16:35:10
Post #5





Grupa: Moderatorzy
Postów: 36 446
Pomógł: 6292
Dołączył: 27.12.2004




input:
Kod
<div class="szukana-klasa">

<div class="datatable">
<table>
<colgroup>
[some table data]
</colgroup>
<caption>Some caption</caption>
<thead>
<tr class="rh columns">
<th rel="col:0">Daily Titles</th>
<th rel="col:1">Jul-17</th>
<th rel="col:2">Jun-18</th>
<th rel="col:3">Jul-18</th>
<th rel="col:4">YoY Actual Change</th>
<th rel="col:5">YoY % Change</th>
<th rel="col:6">PoP Actual Change</th>
<th rel="col:7">PoP % Change</th>
</tr>
</thead>
<tfoot>
<tr class="rf">
<td rel="col:0">Total Daily</td>
<td class="n" rel="col:1">7,567,279</td>
<td class="n" rel="col:2">6,949,971</td>
<td class="n" rel="col:3">6,912,413</td>
<td class="n neg" rel="col:4">-654,866</td>
<td class="n neg" rel="col:5">-8.7</td>
<td class="n neg" rel="col:6">-37,558</td>
<td class="n neg" rel="col:7">-0.5</td>
</tr>
</tfoot>
<tbody>
<tr class="rg rg-1">
<td colspan="8">Quality</td>
</tr>
<tr class="go o">
<td rel="col:0">Daily Telegraph</td>
<td class="n" rel="col:1">477,927</td>
<td class="n" rel="col:2">370,613</td>
<td class="n" rel="col:3">374,535</td>
<td class="n neg" rel="col:4">-103,392</td>
<td class="n neg" rel="col:5">-21.6</td>
<td class="n" rel="col:6">3,922</td>
<td class="n" rel="col:7">1.1</td>
</tr>
<tr class="go e">
<td rel="col:0">Financial Times</td>
<td class="n" rel="col:1">186,018</td>
<td class="n" rel="col:2">183,319</td>
<td class="n" rel="col:3">179,010</td>
<td class="n neg" rel="col:4">-7,008</td>
<td class="n neg" rel="col:5">-3.8</td>
<td class="n neg" rel="col:6">-4,309</td>
<td class="n neg" rel="col:7">-2.4</td>
</tr>
</tbody>
</table><div class="downloader">Download as: <div class="download-strategy"><a href="#" rel="/services/datatable-from-html/csv">CSV</a></div> | <div class="download-strategy"><a href="#" rel="/services/datatable-from-html/excel">Excel</a></div></div><div class="clear close"></div>

</div>
</div>


output:
Kod
<p>blablabla</p>


Ale jak mowilem input moze byc zupelnie innny, nie musz tam byc tabelka, moze byc cokolwiek.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.04.2024 - 11:27