Ben kazıyın ve ya yerel bir XML dosyasına dönüştürmek veya bir MySQL DB eklemek istediğiniz harici bir HTML kaynak var.
Yapmam gereken tüm kullanım XPATH
Tüm td
içerik veya tüm li
içerik almak için böylece dış kaynak, çoğunlukla normalize ve (biraz) anlamsal olduğunu vs sorun, bazen bu öğeler <strong>
veya <b>
veya <i>
etiketleri ihtiyacım unsurları stil kullanmaktır.
Nokta belirli bir metne vurgu eklemek için olduğundan bu, teknik olarak semantik ve geliştirici tarayıcı varsayılan değil CSS kullanmak isteyebilirsiniz.
Sorun simplexml
veya DOMDocument
ve benzeri PHP uzantıları DOMNode
tedavi böylece ben kapmak için çalışıyorum gerçek içeriği, bu satır içi elemanın bir çocuk olarak kabul olmasıdır gibi onları. Örneğin:
<table>
<tr><td>Thing 1</td><td>Thing 2</td></tr>
<tr><td>Thing 3</td><td>Thing 4</td></tr>
<tr><td><strong>Thing 5</strong></td><td><strong>Thing 6</strong></td></tr>
</table>
: Neden olacaktır
[table] =>
[tr] =>
[td] => Thing 1
[td] => Thing 2
[tr] =>
[td] => Thing 3
[td] => Thing 4
[tr] =>
[td] =>
[strong] => Thing 5
[td] =>
[strong] => Thing 6
Açıktır ki, yukarıdaki oldukça ne Basit XML döner değil, yukarıdaki genel sorunu yansıtır.
Yani bir yolu zaten DOMDocument yerleşik bir parametre kullanılarak ya da (eğer varsa) kendi soyundan statü elimden herhangi çocuklu td
elemanın içeriğini almak için ekstra gelişmiş XPath sorgusu kullanarak, var ve tüm içerik sorgulanan elemanın metin olarak muamele?
Şu anda, ben tek çözüm ya şunlardır:
a) gibi, her sonuç denetleyen bir foreach
döngü var:
$result_text = ($result -> strong) ? $result - strong : $result;
b) SimpleXML veya DOMDocument gibi herhangi bir pre-built sınıfa aktarmadan önce HTML dizesi dışında herhangi bir <strong>
etiketleri şerit için regex kullanarak.