0
如何从所有元素节点中删除或清空HTML5文件中的属性节点上的所有文本节点并使用PHP5 DOM?输出的HTML必须包含所有的标签和属性(带有表示属性值的文本节点,不受影响)作为原始文件,但不包含文本,如空的HTML模板。从元素节点中删除文本节点但不从属性节点中删除类型
如何从所有元素节点中删除或清空HTML5文件中的属性节点上的所有文本节点并使用PHP5 DOM?输出的HTML必须包含所有的标签和属性(带有表示属性值的文本节点,不受影响)作为原始文件,但不包含文本,如空的HTML模板。从元素节点中删除文本节点但不从属性节点中删除类型
如果您向我们展示一个示例,情况会更加清晰。
无论如何,我认为它可以使用正则表达式使用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);
你尝试过什么到目前为止? –
我是新来的PHP,并没有太多的编程技能,所以我不知道要使用什么方法,也许removeChild,但是,我怎样才能避免从元素属性中删除值。 – user1834068