我使用AJAX方法将一个字符串从一个页面传递到另一个页面。这个字符串在数据库中可用。它检索字符串以及我从中检索数据的页面的整个客户端页面脚本。我想要使用javascript从其余数据中单独使用字符串。仅从数据库中检索的字符串将继续更改 这就是它的外观:
**live its live** <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"> <head><title> Untitled Page </title>
我想删除除**live its live**
之外的整个段落。问题是如果在数据库中更新了**live its live**
文本,则会单独更改
有人可以帮我解决这个问题....
答案 0 :(得分:0)
var str = '**live its live** <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head><title> Untitled Page </title><link href="App_Themes/Modern/default.css" type="text/css" rel="stylesheet" /></head> <body> <form name="form1" method="post" action="/Web/MessageDisplay.aspx" id="form1"> <div> <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJNzgzNDMwNTMzZGTa4056JeZHQioLQvNmbYjBQvHt8A==" /> </div> <div> </div> </form> </body> </html>';
alert(str.slice(0,str.indexOf('<!DOCTYPE')))
答案 1 :(得分:0)
您的代码必须能够唯一地识别直播文字以避免漏洞。如果您只是使用内容对字符串进行切片,则可能会失败。假设您使用“**”作为唯一标识文本的包装器,切换字符串或获取其子字符串的替代方法是使用javascript的正则表达式。
E.g。
var re = /\*\*.*\*\*/gi;
var str = '**live its live** <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"> <head><title> Untitled Page </title>;';
alert(re.exec(str)[0]);
有关RegExp的更多信息,请参阅https://developer.mozilla.org/en/core_javascript_1.5_guide/regular_expressions