字符串替换混合文本和HTML(客户端或服务器端)

时间:2015-11-05 12:21:34

标签: javascript php jquery html replace

我想在网页上替换文本和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); 

2 个答案:

答案 0 :(得分:0)

你必须用data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDABQODxIPDRQSEBIXFRQYHjIhHhwcHj0sLiQySUBMS0dARkVQWnNiUFVtVkVGZIhlbXd7gYKBTmCNl4x9lnN+gXz/2wBDARUXFx4aHjshITt8U0ZTfHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHz/wAARCAJJA+gDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwC9RS0V1nCJRS4ooAKKKKACilooASilooATFFLRQAlFLiigBKKWigBKKWigApMUtHegAooooAKSlooAKKKKACijFGKACiijFABRiiloASiiigQUUfSloASilooASilxSd6ACjFLRQAlFLRQAlFLRTASilooASilxRQAlGKWigBKKWigBKKWigBMUUtFACUUtFACUUtGKAEpKWigQmKXFFFACUUuKWgBuKKWigApKWigBMUUtFACUYpaKBiYopaKBCUUtFACUUtFACUUtJQAmKKWigBKKXFFACYopaKAEopaKAEoNLRQAlFLijFACY9qMUtFACUUUtADaKdSUAJRilooASjFKaKAEopaKAExRS0UAJRS0YoATtRilxRQAlFLikxQAlFLRQAlFLRQAlGKWjFACUUtJQAlFLiigRJiilxRUliUUuKKAEopaKAEopaKACiiigBKWiigAoxRRQAYooooAKKWigBKMUtFACCjFLRQAlFLRTASilooATFFLSUAFGKWjFACUUtFACUYpaKAEopaKAEopaMUCEopaKAEopaKACkpaKAEopaMUAGKKKKBiUUtGKBCUuKKKAEoxS0UAJRS0UAJS0UUAJRS4ooASilxRQAlFLRQAmKKXFFACYopaKAEopaKAEopaMUAJRS0UAJRilooASilooASilpKACkp1JQAlFLRQAlFLRigBKKWigBKKWigQlFLSUAFFFFMAopaSkAUlLRTASjFLRSASilooASilooASilpKYBRS0UgEopaKYCUmKWigApKWikAlFLRTGJRS0UCEopaMUAJSUtH1oASilxRigBKKWigB9LRRUliUtFFABRRRQAUUVXmvYIXCu3PpSvYCxRVSDUI5bl4CVyOVIP3hVvj2oTT2C1goxS0UwEopaKAEopaKAEopaKAExRS0UCExRS0UAJS0UUAJiloooAKKKKACiiigBKWiigAooooAKMUUUAFFLikoAKKKMUAFFLSYpgFFLSUAFGKKWgBKKKWgBKKWigBMUUuKKAEopaKBCUUtJigAopaKAEopaSgAopaTFABRS0UAJSYp1JQAYopaKAExRS4pKAEpaWkoAKKWkoAKSlooAKTFLRQAlFLRQAlFLRQAlFLikxQAUUUUAFJS0UAJRS0UAJRS0UAJRS0UAJRS0UAJRS0YoASilooASilxSUAFFFFABikpaKAEopaKAEooz7Uhb0oAWigE0tACUUtFACfWilpKACiiigApKWigBKKWkoEFFFFAwooooESUUtFSaCUUtJQIKOlLUVwpaFgAT7DvQApljGRvHHvXK6jKXuWBbcAflJGK03s5o1Z5wgz/CG5ArHnjwT147HsKxqO6sawWpAkjLMpDFSGAyK6bT5zJKyZJIOK5Z+vBya6bRYkgg82bCOerMcUqRVS1jWoqo2oQgttJYA4yBwangnSdcowNb3MSSloxRQIMUUUYoAKKKKAACkpaKYBRS0UAJRiilHSgBMUySRYlDOcKTjNZ2p6kYHMSNtYdcjrWR/aMiCWMcxydQ1ZyqJFxg2dX1xRiqn2hraytnZCymMbj3FW1IZQw6EVadyWrBRS0UxCYopaKBCUUtFACUUtFACYopaKAEopaKAEopcUmKBhSZp2KMUAJRS4ooASilooEJRS0UAJRS0UAFFFGKACkpcUUAJS0UUAJiilooASloxRQAlFLRQAlFLRQAlFLRQAlFLRQAlFLRQAlFLRQAlFLRQAlFLSUAFFFFAgopaSgYlFLRQAlFLRQITFFLRQMSiiloASiiigQYooxRQAUUUUAFJS0UAJRS0UAJRS4ooASilooASilpKACilpKAExRilooGJijFLRQISjFLRigYlFLRQISjFLikoAKKKKAEopaMUAJRilooASilxRQA+iilpFiUYpsjrGMscCs651hY2xGobHvUuSW4JXLtzcfZxlhketZ8etRmbYxAVj8p9Pao7nU4bu2K4ZG6q3YGsCT74x0PpWc59i4wvubt4VmJmaby484LdSfYCst1ZnBOCD0J9KWxtzcpINx3RfMQeeKF2tJLGh4Uce9YybZso2K0iKr4GMg9fetZpVv5U/0WSSWFQWVXwp98Vi5MknpkgVo31tJp86OshVivJB7VUboGro0rO6s54hD80D5OA49Txg1PbWlzBeuxI2dDgcMP8AGqtui6taSnAjdUC56DI54/StGxvVk0+KWdgrgbHz6jvWylcxcbFyimh0MfmK6lP7wPFQXc2bKSS2bzCOPk5Iq+ZE8rJJLmGIZkkVe3Wq51O33hd3Xoc8VyFw028+aWPPehJNnUZU8j61k6nYtUztrW5iuoy8RztOD7VNWH4efFxPGv3XQPj3FbtaRd0RJWYlFLijFUISjFLRQISqst4I5CvllwvUg9Kt1nakwngaG3geZmPJVePzqZPQpIjnv9OuY5YpGCORg71zn6GuclXYpXqOxPf6VLPYtGCdrYH3iex9KHtXijAkPBXcBntXNOV9zeMbGjZXj3SW9ojMyZBlb0x0FdERzxWFBMLTRYLiySFXJ2uz8gHPU0+L+3J3Zluo/LAyGUAqa3jojKSuzZoqvaTTOzRXSgTIobcBgNVmtCLBRTlUseKkSEk57UrpDUWyEA9hSkEdquLGO9RSqMcGp5iuQr0VIsRJ56UrQkfSq5kTysipKdjB5pKZNgoopaAEoopaAEoopaAEoopaAEopaSgAopaSgAopaKAEopaKAEopaSgAopaSgAxRS0lMAopaSkAUUUUwCiiigQUUUUAF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 包装php代码。改变这样,

mysql> SELECT ISNULL('');
Result: 0

mysql> SELECT ISNULL(NULL);
Result: 1

答案 1 :(得分:0)

将你的html代码输入到php字符串中。例如。

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

尝试这可能会有所帮助