2015-11-05 117 views
0

我想在網頁上替換文本和html字符串。這是爲了突出文本片段的目的。所以,突出顯示的文本存儲在一個數據庫中,當它的網頁被加載時,代碼應該找到並替換這段文本。字符串替換混合文本和HTML(客戶端或服務器端)

例如,

$original_string = "SOME TEXT"; 
$replacement_string = "<span data-id='7334' class='highlight'>SOME TEXT</span>"; 

我不得不使用PHP str_replace函數的問題,因爲它是不是很好的替代怪異HTML實體或更大的字符串。

所以現在,我試圖在客戶端使用JS來完成,並且使用js replace()獲得了更好的結果。

我的問題是 - 達到上述目標的最佳方法是什麼?我應該使用PHP解析器還是使用JS?

如果我使用JS,我應該如何構造for循環,以便所有替換都在相同的文本上進行?這也不太工作:

var value = $('#domainContainer').html(); 

    var $highlightsArray_search = <?php echo json_encode($highlightsArray_search); ?>; 
    var $highlightsArray_replace = <?php echo json_encode($highlightsArray_replace); ?>; 

    for(var i=0; i<2; i++){ 
     var search_value = $highlightsArray_search[i]; 
     var replace_value = $highlightsArray_replace[i]; 

     var formattedSnippet = value.replace(search_value, replace_value); 

     value = formattedSnippet; 

    } 

    $('#domainContainer').html(formattedSnippet); 
+0

你總是可以嘗試http://php.net/manual/en/function.html-entity-decode.php和HTTP的某種組合:// PHP .net/manual/en/function.htmlentities.php – Terminus

+0

[RegEx with preg \ _match查找並替換SIMILAR字符串]可能的重複(http://stackoverflow.com/questions/33671497/regex-with-preg-match -to-查找和替換-A-類似的字符串) – Madivad

回答

0

您必須包裝PHP代碼quotes。只是改變這個樣子,

var $highlightsArray_search = "<?php echo json_encode($highlightsArray_search); ?>;" 
          ^            ^
var $highlightsArray_replace = "<?php echo json_encode($highlightsArray_replace); ?>;" 
          ^            ^
0

把你的HTML代碼中的PHP字符串的例子。

<?php 
$original_string = "SOME TEXT"; 
$first ="<span data-id='7334' class='highlight'>"; 
$second = "</span>"; 
echo $first.$original_string.$second; 
?> 

試試這個可能是有幫助

相關問題