Tüm html belgesini ayrıştırmak ve otomatik olarak belirli bölümlerini PHP değiştirin

1 Cevap php

Selamlar,

Iv'e önceki sorularda hızlı arama yaptı ama benim soru için yeterli bir cevap bulamadık.

Ben bir dizi kütüphanede kelimeleri bulur ve kelimenin açıklaması bağlantıları ile bunların yerine bir işlev oluşturmak var.

Örnek:

$words = array("ANTIM","APDIV","APVEG","ARCHE","ARFEU","ARMUR",
"ARSUP","ARTHE","ARTIL","ASSOM","ATTSU","BANQU","BARDE","BRICO",
"CAMOU","CHANC","CHAOM");

Benim işlevi, REPLACE_TEXT ($ someString) çağırdığınızda. Ben metinde bu kelimeleri arayın. Bu sözler benim web sitesinin çeşitli sayfalarında ve tüm orada ilgili açıklamasına bağlantı için ihtiyaç olmasına rağmen. Ben işlemi otomatik ve manuel bağlantıları yazmayın için bu işlevi yaptı.

Yani çağırdığınızda:

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.")

Bu yerini alacaktır:

"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."

(Diziden bulunan kelime çapa ile değiştirilmiştir.)

Sonuçta, benim işlevi denmesini istiyorum ama benim bütün sayfaları içinde arama yaparak (html kodu) otomatik olarak yüklenir zaman. Bana lütfen rehberlik, bu PHP domBelgesi kısmı ile yapılabilir ama ben buna alışık değilim düşünüyorsun?

1 Cevap

Eğer ob_start() gerekir gibi geliyor.

Eğer işlev oluşturabilirsiniz, Diyelim

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

Daha sonra:

 ob_start("call_back_addLinks");

Sonra normal bir PHP kodu normale içerik üretmek için. Yani burada, tüm sayfası.

Daha sonra:

 ob_end_flush();

Bağlantı basit bir örnek vardır.