2012-02-07 84 views
0

我使用AJAX调用一个PHP文件,该文件将有效地编辑另一个HTML文件内的特定位内容。我的问题是,我不确定针对这些特定领域的最佳方式。PHP替换文本<h1></h1>标记

我觉得某种独特的标识符需要附加到需要编辑的标签上,或者可能在注释中,然后PHP在替换之前只是搜索这个标签?

+1

使用HTML解析器像simplehtml – jantimon 2012-02-07 14:57:47

+3

不要不管你做什么也别想用[正则表达式(http://stackoverflow.com/问题/ 1732348 /正则表达式匹配开放标签,除了-XHTML-自足标签/ 1732454#1732454)。 – fredley 2012-02-07 14:59:20

+0

做了一个简单的谷歌quickhtml,它看起来很有前途!我会进一步探索。谢谢 – tctc91 2012-02-07 14:59:41

回答

2

使用simplehtml这一点。

可以将所有<h1>改变foo这样的:

$html = file_get_html('http://www.google.com/'); 
foreach($html->find('h1') as $element) 
{ 
    $element->innertext = 'foo'; 
} 
echo $html; 
1

simplehtmldom框架允许您搜索和修改HTML文件或网址的DOM。

http://simplehtmldom.sourceforge.net/

// Create DOM from URL or file $html = 
file_get_html('http://www.google.com/'); 

// Find all images foreach($html->find('img') as $element) 
     echo $element->src . '<br>'; 

// Find all links foreach($html->find('a') as $element) 
     echo $element->href . '<br>'; 

另外一个不错的库的QueryPath。这是非常相似的jQuery:

qp($html_code)->find('body')->text('Hello World')->writeHTML(); 

https://fedorahosted.org/querypath/wiki/QueryPathTutorial