Javascript 向文本子字符串添加新元素

Javascript 向文本子字符串添加新元素,javascript,jquery,python,beautifulsoup,Javascript,Jquery,Python,Beautifulsoup,假设我有以下字符串: "I am the most foo h4ck3r ever!!" 我正在尝试编写一个makeSpecial(foo)函数,其中foo子字符串将被包装在一个新的span元素中,结果是: "I am the most <span class="special">foo></span> h4ck3r ever!!" “我是有史以来最快乐的人!!” 美丽之路似乎是要走的,但我一直没能让它发挥作用 我也可以将其传递到浏览器并使用javascrip

假设我有以下字符串:

"I am the most foo h4ck3r ever!!"
我正在尝试编写一个makeSpecial(foo)函数,其中foo子字符串将被包装在一个新的span元素中,结果是:

"I am the most <span class="special">foo></span> h4ck3r ever!!"
“我是有史以来最快乐的人!!”
美丽之路似乎是要走的,但我一直没能让它发挥作用

我也可以将其传递到浏览器并使用javascript进行操作,但这似乎不是一个好主意

关于这一点的一些建议将非常有用,特别是在python中

这个怎么样:

Python 2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC v.1310 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>> def makeSpecial(mystring, special_substr):
...     return mystring.replace(special_substr, '<span class="special">%s</span>
' % special_substr)
...
>>> makeSpecial("I am the most foo h4ck3r ever!!", "foo")
'I am the most <span class="special">foo</span> h4ck3r ever!!'
>>>
Python 2.5.1(r251:54863,2007年4月18日,08:51:08)[MSC v.1310 32位(英特尔)]开启 win32 有关详细信息,请键入“帮助”、“版权”、“信用证”或“许可证”。 >>>def makeSpecial(mystring,special_substr): ... 返回mystring.replace(特殊子字符串,'%s “%special\u substr) ... >>>makeSpecial(“我是有史以来最富h4ck3r!!”,“富”) “我是有史以来最快乐的人!!” >>>
据我所知,您正在执行一个简单的字符串替换。你将“foo”替换为“bar foo bar”,所以从中你可以使用

replace(old, new[, count])   
返回一个字符串的副本,其中所有出现的子字符串old都替换为new。如果给定了可选参数计数,则仅替换第一次出现的计数

因此,对你来说,这将是:

myStr.replace("foo", "<span>foo</span>")   
myStr.replace(“foo”,“foo”)
如果您想使用javascript/jQuery执行此操作,请查看以下问题:

我同意这一点,但根据上下文,一些错误处理可能会有用