2

次の文字列があるとします。

"I am the most foo h4ck3r ever!!"

foo 部分文字列が新しい span 要素でラップされる makeSpecial(foo) 関数を作成しようとしています。その結果、次のようになります。

"I am the most <span class="special">foo></span> h4ck3r ever!!"

BeautifulSoup は道のりのように思えましたが、私はそれを機能させることができませんでした。

これをブラウザに渡して JavaScript で実行することもできますが、それは良い考えではないようです。

これに関するいくつかのアドバイスは、特に Python では非常に役立ちます。

4

3 に答える 3

3

これはどう:

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!!'
>>>
于 2008-09-24T02:46:54.350 に答える
1

私が知る限り、単純な文字列の置換を行っています。「foo」を「bar foo bar」に置き換えています。したがって、文字列から使用できます

replace(old, new[, count])   

部分文字列 old をすべて new に置き換えた文字列のコピーを返します。オプションの引数 count が指定されている場合、最初の count 個の出現のみが置き換えられます。

したがって、あなたにとっては次のようになります。

myStr.replace("foo", "<span>foo</span>")   
于 2008-09-24T02:49:13.440 に答える
0

javascript/jQuery でそれを行いたい場合は、次の質問をご覧ください: jQuery で単語を強調表示する

于 2008-09-24T02:51:15.027 に答える