问候,
我在之前的问题中进行了快速搜索,但没有找到适合我的问题的答案。
我创建了一个在数组库中查找单词的函数,并通过指向单词描述的链接替换它们。
示例:
$words = array("ANTIM","APDIV","APVEG","ARCHE","ARFEU","ARMUR",
"ARSUP","ARTHE","ARTIL","ASSOM","ATTSU","BANQU","BARDE","BRICO",
"CAMOU","CHANC","CHAOM");
当我调用我的函数时,replace_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."
(从数组中找到的单词被锚点替换。)
最后,我想要调用我的函数,但是在加载时会自动搜索我的整个页面(html代码)。我想这可以用PHP的domDocument部分来完成,但我不习惯它,你能指导我吗?
答案 0 :(得分:3)
听起来你需要ob_start()。
你可以创建你的功能,比如说
function call_back_addLinks($buffer){
//do your magic and replace
//words with links in $buffer
//then return the new String
}
然后:
ob_start("call_back_addLinks");
然后你的普通PHP代码生成正常的内容。也就是说,你的整个页面都在这里。
然后:
ob_end_flush();
链接有一个简单的例子。