我想替换网页上的文本和html字符串。这是为了突出显示文本片段。因此,高亮显示的文本存储在数据库中,当加载其网页时,代码应该查找并替换该文本。
例如,
$original_string = "SOME TEXT";
$replacement_string = "<span data-id='7334' class='highlight'>SOME TEXT</span>";
我在使用PHP str_replace时遇到了问题,因为它不能很好地替换奇怪的html实体或更大的字符串。
因此,现在,我正尝试使用JS在客户端进行此操作,并使用JS-replacement()获得了更好的结果。
我的问题是,实现上述目标的最佳方式是什么?我应该使用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);
你必须用quotes
包装php代码
var $highlightsArray_search = "<?php echo json_encode($highlightsArray_search); ?>;"
^ ^
var $highlightsArray_replace = "<?php echo json_encode($highlightsArray_replace); ?>;"
^ ^
以php字符串中的html代码为例。
<?php
$original_string = "SOME TEXT";
$first ="<span data-id='7334' class='highlight'>";
$second = "</span>";
echo $first.$original_string.$second;
?>
试试这个可能会有帮助