私はPHPのシンプルなHTMLドームパーサーを使用して、HTMLテーブルからセル値のコンテンツを抽出し、配列に格納しています。シンプルなPHP DOMパーサーは、プレーンテキストに不要なスペースを追加します
HTML:
<td class="inflexion">so<span class="deviation">y</span></td>
<td class="inflexion"><span class="deviation">fui</span></td>
<td class="inflexion"><span class="deviation">er</span>a</td>
<td class="inflexion">haber sería</td>
所望の出力:
大豆
FUI
時代
ハーバーのセリア
PHP:
function getvariations($conjtables){
$conjtables = str_get_html($conjtables);
$variations = [];
foreach ($conjtables->find('td[class=inflexion]') as $inflexion) {
$variations[] = $inflexion->plaintext;
}
return array_unique($variations);
}
$variations = getvariations($conjtables);
foreach ($variations as $variation) {
echo $variation . '<br>';
}
この作品は、しかし、出力(以下第3項を参照)、望ましくない空間とspan要素のいくつかのオカレンスを付加するように思われる:
大豆
FUI
ER
ハーバーのセリア
これを固定周りの任意の提案ですか?与えられた例の最後の項目のようにいくつかのセルが本当に複数の単語を持つので、私はスペースを任意に削除できません。代わりにplaintext
のstrip_tagsと
内側 'span'から値を取得し、それとimplode'em –
'a'が' span'の外側にあることがわかりましたか? '.deviation {margin:0; padding:0;}'のようなCSSルールを追加するか、 'a'を' span'に移動してください! – JustOnUnderMillions
"a"は設計通りにの外側にあり、変更できません。私はそれらをMySQLテーブルに格納する目的で値が必要なので、CSSを変更することはあまり役に立ちません。 – TheLearner