문제

다음 문자열이 있다고 말합니다.

"I am the most foo h4ck3r ever!!"

나는 FOO 하부 문자열이 새로운 스팬 요소로 래핑하는 MakesPecial (FOO) 기능을 작성하려고합니다.

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

BeautifulSoup은가는 길처럼 보였지만, 나는 그것을 작동시킬 수 없었습니다.

나는 이것을 브라우저에 전달하고 JavaScript로 할 수 있지만 좋은 생각은 아닙니다.

이에 대한 조언은 특히 파이썬에서 정말 유용 할 것입니다.

도움이 되었습니까?

해결책

이건 어때:

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

다른 팁

내가 알 수있는 한, 당신은 간단한 문자열 교체를하고 있습니다. "Foo"를 "Bar Foo Bar"로 대체하고 있습니다. 그래서 당신은 그냥 사용할 수 있습니다

replace(old, new[, count])   

새로 대체 된 모든 구식 구식으로 문자열의 사본을 반환하십시오. 선택적 인수 수가 주어지면 첫 번째 카운트 발생 만 대체됩니다.

그래서 당신을 위해 그것은 다음과 같습니다.

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

JavaScript/JQuery로 수행하고 싶다면이 질문을 살펴보십시오. jQuery와 함께 단어를 강조하십시오

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top