2016-11-27 5 views
0

나는 약간의 손실이 있습니다. 아래 정규식은 예상대로 작동합니다정규식을 닫지 않는 정규식

$src_data = preg_replace("/&quot;(.+?)&quot;/", "<span class=\"src_att\">$0</span>", $src_data); 
$src_data = preg_replace("/'(.+?)'/", "<span class=\"src_att\">$0</span>", $src_data); 

그러나이 사람은 스팬 닫 실패 충분히

$src_data = preg_replace("/\/\/(.+?)\n/", "<span class=\"src_com\">$0</span>", $src_data); 

물론 뭔가 퀴즈의를하지만 난 오류가 실패합니다. 도움이 감사, 감사합니다.

편집 :

$의 src_data 아무것도 할 수있다, 예를 들어, 한 줄 또는 여러 줄. 아래는 작은 따옴표로 예입니다 - 예상대로 작동 ➠ 적합한 : 댓글을 일치하려고하면 폐쇄 범위를 추가하는 데 실패

$ds_type = array ('Bytes', 'KiB', 'MiB', 'GiB', 'TiB'); 

쓰신 :

//** this is just a comment 

출력입니다 renderd 미세하지만 분명히 누락 된 스팬으로 인해 마크 업이 유효하지 않습니다.

+2

$ src_data의 예제를 추가 할 수 있습니까 – Danijel

+0

''은 줄 바꿈이'$ 0'의 끝에 있기 때문에 다음 줄에 올 것입니다. – Barmar

+0

아마도'\ n '대신'$'를 쓰고,'m' 옵션을 사용하면 문자열의 끝 대신에 줄 끝과 일치하게됩니다. – Barmar

답변

0

싫어하지만, 해결되었으므로 나 자신에게 대답 할 것입니다. $/m와 함께 .*?-.*+? 변경

$src_data = preg_replace("/\/\/(.*?)$/m", "<span class=\"src_com\">$0</span>", $src_data); 

는했다 모두를이었다. 나는 퀴즈에 대해 언급 했습니까? 주위 모든 사람들에게 감사드립니다.

관련 문제