Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 解析整个html文档并自动替换其中的特定部分_Php_Html_Replace_Parsing_Document - Fatal编程技术网

Php 解析整个html文档并自动替换其中的特定部分

Php 解析整个html文档并自动替换其中的特定部分,php,html,replace,parsing,document,Php,Html,Replace,Parsing,Document,您好 Iv'e在前面的问题中进行了快速搜索,但没有找到我问题的适当答案 我创建了一个函数,可以在数组库中查找单词,并用指向单词描述的链接替换这些单词 例如: $words = array("ANTIM","APDIV","APVEG","ARCHE","ARFEU","ARMUR", "ARSUP","ARTHE","ARTIL","ASSOM","ATTSU","BANQU","BARDE","BRICO", "CAMOU","CHANC","CHAOM"); 调用函数时,替换_text($

您好

Iv'e在前面的问题中进行了快速搜索,但没有找到我问题的适当答案

我创建了一个函数,可以在数组库中查找单词,并用指向单词描述的链接替换这些单词

例如:

$words = array("ANTIM","APDIV","APVEG","ARCHE","ARFEU","ARMUR",
"ARSUP","ARTHE","ARTIL","ASSOM","ATTSU","BANQU","BARDE","BRICO",
"CAMOU","CHANC","CHAOM");
调用函数时,替换_text($someString)。我在文本中搜索这些单词。虽然这些话在我的网站的几个页面,都需要链接到那里各自的描述。我创建这个函数是为了自动化这个过程,而不是手动编写链接

所以当我打电话时:

replace_text("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis ultrices congue condimentum. Integer tempor aliquam ARFEU nisi at adipiscing. Vivamus ornare consequat metus. Nulla mollis lacus sit amet dolor rutrum sollicitudin. Maecenas sit amet nibh ut turpis bibendum rutrum et a tellus. Fusce a tortor a lacus feugiat gravida. Suspendisse elementum hendrerit urna ut viverra. Pellentesque ARCHE auctor, metus vitae lobortis vestibulum, justo ligula ultrices magna, vitae blandit mauris sapien eu velit. Nullam dapibus tristique orci, ac ullamcorper lectus venenatis ARTIL non. Nulla laoreet laoreet pretium.")
这将由以下内容取代:

"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis ultrices congue condimentum. Integer tempor aliquam <a href="somelink">ARFEU</a nisi at adipiscing. Vivamus ornare consequat metus. Nulla mollis lacus sit amet dolor rutrum sollicitudin. Maecenas sit amet nibh ut turpis bibendum rutrum et a tellus. Fusce a tortor a lacus feugiat gravida. Suspendisse elementum hendrerit urna ut viverra. Pellentesque <a href="somelink">ARCHE</a auctor, metus vitae lobortis vestibulum, justo ligula ultrices magna, vitae blandit mauris sapien eu velit. Nullam dapibus tristique orci, ac ullamcorper lectus venenatis <a href="somelink">ARTIL</a> non. Nulla laoreet laoreet pretium."
“Lorem ipsum door sit amet,连续的发展精英。两种不同的粥调味品。整段时间内的不平等。不平等。”
(从数组中找到的单词已替换为锚。)

最后,我希望调用我的函数,但在加载时自动搜索整个页面(html代码)。我想这可以用PHP的domDocument部分来完成,但我不习惯,你能指导我吗?

听起来你需要

比如说,你可以创建你的函数

 function call_back_addLinks($buffer){
    //do your magic and replace
    //words with links in $buffer
    //then return the new String
 }
然后:

然后使用普通PHP代码生成普通内容。也就是说,你的整个页面都在这里

然后:


该链接有一个简单的例子。

加载时自动执行是什么意思?即使页面不调用该函数,您也希望该函数运行吗?可能我不清楚,下面是我要归档的内容:1-加载页面时替换整个html文档中的文本。目前我遇到的困难:1-如何检索当前页面的全部内容2-如何通过使用str_replace()的简单函数解析此内容如果需要当前页面,您会将函数放在何处?整个内容不包括函数本身吗?是否要将文档请求重定向到另一个脚本,该脚本将解析请求的文档,然后输出?我们需要知道您的HTTP服务器才能对此提供建议。我运行一个Apache服务器,您是对的,我从未想过调用该函数的方法。我想到了一个PHP类,它将包含在每个页面上。。但那根本不起作用。也许最好的方法是手动解析文件:)我会试试这个方法。。。虽然我想我找到了一个简单的方法。我可以使用以下内容:$content=file\u get\u contents('./my content page.html',file\u use\u INCLUDE\u PATH);回显my_replace_text_函数($content);这似乎工作正常。。。我会测试并通知你!
 ob_start("call_back_addLinks");
 ob_end_flush();