سؤال

أقول لقد السلسلة التالية:

"I am the most foo h4ck3r ever!!"

أنا أحاول أن أكتب makeSpecial(فو) وظيفة حيث فو فرعية سوف تكون ملفوفة في فترة جديدة عنصر ، مما أدى إلى:

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

BeautifulSoup بدا وكأنه وسيلة للذهاب, ولكن لم أكن قادرة على أن تجعل من العمل.

أنا يمكن أيضا تمرير هذا المتصفح مع جافا سكريبت, لكن هذا لا يبدو وكأنه فكرة عظيمة.

بعض النصائح من أجل هذا من شأنه أن يكون مفيدا حقا ، وخاصة في بيثون.

هل كانت مفيدة؟

المحلول

كيف حول هذا:

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!!'
>>>

نصائح أخرى

بقدر ما استطيع ان اقول ، تفعله سلسلة بسيطة استبدال.أنت استبدال "فو" مع "شريط فو بار." لذلك من سلسلة يمكنك فقط استخدام

replace(old, new[, count])   

عودة نسخة من السلسلة مع كافة تواجدات فرعية القديمة وحلت محلها الجديد.إذا الاختياري العد الحجة هو فقط أول إحصاء الحوادث يتم استبدال.

لذلك بالنسبة لك سيكون:

myStr.replace("foo", "<span>foo</span>")   

إذا كنت تريد أن تفعل ذلك مع جافا سكريبت/مسج, نلقي نظرة على هذا السؤال: تسليط الضوء على كلمة مع مسج

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top