假设有一个:
element
。pattern
。replacement
(这可以是一个简单的字符串或一个带有替换标记的字符串)。在JavaScript中,如果不调用jQuery或JavaScript库,如何在pattern
的子文本节点中安全地替换所有replacement
element
个replacement
?如果element.innerHTML = element.innerHTML.replace(pattern, replacement)
还包含标记而不是如果包含小于号或大于号的符号将被转义的文本,如何实现此目的?使用replacement
的问题在于它可能会破坏标记。因此,使用它来替换超链接的显示文本可能会更改超链接指向的地址。
答案可以包含两个解决方案:一个用文本替换文本(即&#34;&lt;&#34; <
将被视为<br/>
)和一个用文字字符串替换文本(即replacement
中的<br/>
将被视为<br/>
而不是<
)。或者,答案可能只包含一个解决方案,与第一个选项中的第二个解决方案一样,分别将>
和<
视为>
和#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
int getMaxPath(vector<vector<int> > Grid, int r, int c, vector<int> &path)
{
if((r > Grid.size()-1) || (c > Grid[0].size()-1))
return 0;
if(r==Grid.size()-1 && c==Grid[0].size()-1){
return Grid[r][c];
}
int rs = getMaxPath(Grid, r, c+1, path);
int ds = getMaxPath(Grid, r+1, c, path);
return max(rs,ds)+Grid[r][c];
}
int maxPath(vector<vector<int> > Grid, vector<int> &path)
{
return getMaxPath(Grid, 0, 0, path);
}
int main() {
vector<vector<int> > mat{{5,0,8,12}, {11,16,9,13},{10,2,15,300},{3,14,18,19}};
vector<int>path;
path.push_back(mat[0][0]);
int result = maxPath(mat, path);
cout << result << endl;
for(auto i : path)
cout << i << " " << endl;
return 0;
}
。
答案 0 :(得分:0)
我会首先更改所有<
和>
,然后您可以检查br
。您需要在表达式的末尾使用g
标志使它们变得贪婪。我也在那里放置了可选空格和正斜杠选项。玩得开心......并尝试使您的JavaScript XHTML友好,以便它可以移动。
// external.js
var pre = onload, doc, bod, htm, E, stripMost; // keeping vars above the onload allows for use on other pages - change pre to different var name if using technique on another page
onload = function(){
if(pre)pre(); // execute previous onload if exists
doc = document; bod = doc.body; htm = doc.documentElement;
E = function(id){
return doc.getElementById(id);
}
stripMost = function(inputString){
return inputString.replace(/</g, '<').replace(/>/g, '>').replace(/<\s*br\s*\/?s*>/g, '<br />');
}
var so = E('so'); // works like document.getElementById('so')
so.onclick = function(){
E('out').innerHTML = stripMost(E('in').value);
}
}
&#13;
/* external.css */
#in{
width:200px; height:25px; border:1px solid #000;
}
#so{
height:25px;
}
&#13;
<!DOCTYPE html>
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
<head>
<meta http-equiv='content-type' content='text/html;charset=utf-8' />
<link type='text/css' rel='stylesheet' href='external.css' />
<script type='text/javascript' src='external.js'></script>
</head>
<body>
<input type='text' id='in' /> <input type='button' id='so' value='show output' />
<div id='out'></div>
</body>
</html>
&#13;