2013-11-24 3 views
1

좋아, 그럼 일부 문자열을 출력하는 문자열이 있습니다.단어를 굵은 글꼴로 만드는 문제

~ 테라스
아파트는 두 개의 큰 테라스가 있습니다. 메인 테라스 (30m2)는 거실에서 이용할 수 있으며, 6 개의 안락 의자가있는 커다란 목재 테이블과 커다란 안락한 목조 선 베드가 있습니다. 이곳의 전망은 훌륭합니다. 놀라운 바다 경관을 감상 할 수있을뿐만 아니라 마 벨라 (Marbella) 뒤에있는 인상적인 산인 라 콘차 (La Concha)의 매혹적인 경관을 볼 수 있습니다. 2 번째 테라스 (14m2)는 주방에서 접근 가능합니다.

내가 원하는 유일한 것은이 같은 패턴이 ~ 문자열문자열 .More 특별히 ~, 공간을 제거하기로 변환 할 수 있도록 텍스트를 굵게하는 것입니다. ?

function bold($var) { 
$var = preg_replace('/~\s(.*?)/', '<strong>$1</strong>', $var); 
return $var; 
} 

기능은 내가 강한 태그 사이에 무언가를 삽입하면 그 텍스트를 얻을 것이다, 더욱 이상한 ~ 다 제거하지만 텍스트 bold.Why을하지 않습니다

나는이 기능을 생성 굵은 글씨 다음에는 동일한 태그 안에 있더라도 굵은 글씨로 표시하지 않을 텍스트가옵니다.

$ var는 위의 예와 같이 전체 문자열에 있습니다.

답변

1

당신이 필요합니다

$var = preg_replace('/~\s*(\S+)/', '<strong>$1</strong>', $var); 
+1

+1은 OP가 필요로하는 것을 이해하고 그에게 정확한 답을 제공합니다. –

+0

이것은 매력처럼 작동합니다. 많은 감사합니다!하지만 지금은 퍼즐에 빠져 있습니다. 내 기능에 문제가 있습니다. – marianstefi20

+0

@ marianstefi20 :'. *?'다음에'. *? \ s'와 같은 것이 없으면 이해가되지 않습니다. 귀하의 경우 정규식이 비 욕심이기 때문에 길이가 0 인 텍스트와 일치합니다. – anubhava

0

먼저. PHP는 서버 측 언어이므로 굵게 표시하려면 대담한 태그를 사용하여 HTML을 다시 표시해야합니다. 당신이 당신의 정규식을 실행 한 후

, 왜 그냥하지 :

$var = '<strong>$var</strong>';

보다는 시도하고 모두가 정규 표현식을 통해 무엇입니까? 내가 믿는

+0

내가 너무 이것 생각을하지만,이 방법 것 'boldify'내 전체 문자열. – marianstefi20

+0

오, 죄송합니다. 나는 그것이 당신이 원하는 것이라고 생각했습니다. – FaddishWorm