2017-09-28 31 views
0

可以找到一個頁面上的取代一切,如果這裏面是這樣的:{{:replace_this}}如何搜索和內替換內容{{:例如}}

<a href="#">{{:main_link}}</a> 
<div>{{:some_content}}</div> 
<p>{{:body_text}}</p> 

來結束:

<a href="#">Home</a> 
<div>Header 1</div> 
<p>This is a body content</p> 

希望與查詢和PHP,其中根據價值,我可以改變這個內容要做到這一點:

var X = [{main_link: "Home"},{some_content: "Header 1"}]; 
var Y = [{main_link: "Welcome"},{some_content: "Header 2"}]; 
var selector = true; 
if(selector){ 
// change {{:this}} with X values 
}else{ 
// change {{:this}} with Y values 
} 

類似的東西,並使用可能呈現值:

$("body *").each(function(){ 
    $(this).html(value); 
}); 

只是一個想法。

+0

您標記PHP和PHP說,但你寫的JavaScript ...所以你想用這個哪種語言? – Devon

+0

兩者,因爲內容是在PHP上生成的,但我想用Javascript來替換,我想PHP部分並不重要,只是希望替換某些內容的方式,或者不是?我不知道XD – ozonostudio

+0

所以你想用Javascript來替換內容,所以PHP似乎並沒有涉及到這個問題。 – Devon

回答

1

是的,你可以做到這一點。

保存在佔位符HTML文件,然後檢索在PHP這樣的:

$html = file_get_contents('/var/www/mywebsite.com/htdocs/html.html'); 

然後建立自己的搜索詞的數組:

$search = array('{{:main_link}}', '{{:some_content}}', '{{:body_text}}'); 

你替換詞之一:

$replace = array($main, $content, $body); 

然後執行switcheroo:

echo str_replace($search, $replace, $html); 
+0

,但這是我的佔位符:{{:placeholder}} – ozonostudio

+0

你需要一個獨特的佔位符來替換你想要做的每一個替換,不管它們是什麼。無論你放在你的$ search數組中的第一個元素將被替換爲$ replace數組中第一個元素的值。 – miknik

+0

是的我要使用一個獨特的佔位符我只是想,如果$ search數組不僅僅是一個額外的步驟,我們不需要,也許有些東西要找到這個:「{{:」和這個「}}」和取代裏面的內容,我只是拋出想法 – ozonostudio

1

在JavaScript中,您可以定位元素html,添加#id或.class(用於組元素),在PHP上下文中,我們可以討論枝條語法。

var value = ["Home", "Header 1", "This is a body content"]; 
var i = 0; 
$("#title_page, #content_page, #paragraph_page").each(function(){ 
    $(this).html(value[i]); 
    i++; 
}); 

https://codepen.io/anon/pen/EwmywJ?editors=1111

+0

在這種情況下,我們可以這樣做: https://codepen.io/ozonostudio/pen/gGWMjW/ – ozonostudio

+0

但我在找東西更清潔一點 – ozonostudio

+0

,因爲有些情況下它是一個大段落,我不希望它在數據標記 – ozonostudio