在html中处理文本并插入到html结构中

时间:2012-04-11 22:02:05

标签: php html

我想从HTML中获取文本做一些过程并更改为它并使用php重新插入该HTML代码。

<p>This is my    sentence   <span>and   more</span> also <strong>important</strong> part.</p>

什么是最好的方法?使用preg_ *?如何将我的文本重新插入HTML样式?

例如,我想删除单词之间的所有双倍或更多空格。

preg_replace('/\s+/', ' ', $myText);

但我想在我的html文本中应用而不是html标签,属性等......

1 个答案:

答案 0 :(得分:1)

看看DomDocument。它将允许您对HTML进行一些操作。

http://www.php.net/manual/en/domdocument.loadhtml.php

修改

如果您想详细说明您想要对HTML示例做些什么,我们可能会提供更具体的答案:)

修改

要反映更新后的答案:HTML中的多个空格无论如何都应该折叠,但如果您想删除它们,那么您可以尝试以下操作:

$result = preg_replace_callback('/(?<=\>)[\w\s]+(?=\<)/', function($match) {
    return preg_filter('/\s+/', ' ', $match[0]);
}, $str);

我不是一个正则表达式专家,所以我确信有更优雅的方式来做到这一点,但这可能对你有用:首先做一个preg_replace_callback并使用lookarounds来抓取任何文本end和start标签之间的片段。然后,通过preg_filter(或preg_replace)传递结果,将任意多个空格替换为单个空格。

希望这有助于/工作:)