0

PHP5 DOMを使用したHTMLファイルの属性ノードではなく、すべての要素ノードからすべてのテキストノードを削除または空にする方法は? 出力された HTML には、すべてのタグと属性 (属性値を表すテキスト ノードはそのまま) が元のファイルとして含まれている必要がありますが、空の HTML テンプレートのようにテキストは含まれていません。

4

1 に答える 1

0

例を示していただければ、より明確になります。

とにかく、 preg_match関数を使った正規表現でできると思います。

まず、テキストノードと見なす要素を定義してから、次のようなものを使用する必要があります。

$finalText = preg_replace( "/\<span\>(.*?)\<\/span\>/is", "$1", $originalText);

この場合、スパンノードに含まれるテキストを削除します。

そして、次のように、配列を使用して式を追加し続けることができます。

    $a = array(
        "/\[b\](.*?)\[\/b\]/is",
        "/\[i\](.*?)\[\/i\]/is",
        "/\[u\](.*?)\[\/u\]/is",
        "/\[t\](.*?)\[\/t\]/is",
        "/\[d\](.*?)\[\/d\]/is",
        "/\[url=(.*?)\](.*?)\[\/url\]/is",
        "/\[img\](.*?)\[\/img\]/is"
    );

    $b = array(
        "$1",
        "$1",
        "$1",
        "$1",       
        "$1",
        "$2",
        ""
    );  

    $finalText = preg_replace($a, $b, $originalText);
于 2012-11-18T19:39:12.470 に答える