2

DomDocument からいくつかの段落を取得するために XPath を使用しています。これは正常に機能し、目的のデータを返します。

問題は、次の場合です。

foreach ($paragraph->childNodes as $child) {
    $node .= $paragraph->ownerDocument->saveHTML($child);
}

最初の改行がある場合、これは維持され、すべての改行を削除したいと考えています。

私が試した:

$node = trim($node); // Does not work

それで:

$breaks = array("\r\n", "\n", "\r");
$node = str_replace($breaks, " ", $node); // Doesn't work

私も試しました:

$paragraph->ownerDocument->formatOutput = false;
$paragraph->ownerDocument->preserveWhiteSpace = false;

動作しませんでした。

これらの改行を取り除く方法についてのアイデアはありますか?

前もって感謝します。

編集

$node 入力の例を次に示します。

<b>Keywords: </b>marine fungus; sediment; anthranilic acid; <i>Penicillium
 paneum</i>; cytotoxicity

どうやら、問題の文字は
、この特殊文字は何ですか?

4

3 に答える 3

3
$node = preg_replace(array('/\r/', '/\n/'), '', $node);

これでうまくいきます。

于 2013-09-30T10:33:49.417 に答える
1

試すpreg_replace

   $string =  preg_replace("#<br\s*/?>#i", "", $string);

または試す

preg_replace( "/\r|\n/", "", $yourString);
于 2013-09-30T10:26:57.800 に答える