는이 같은 문자열이 : 나는 <span class="bold">
과 </span>
사이에 모든 것을 제거해야PHP; 구분 기호와 구분 기호 사이의 문자열을 제거하는 방법은 무엇입니까?
My name is <span class="bold">George</span> and I'm <span class="bold">21</span>.
을이 자체를 구분 기호.
My name is and I'm .
나는 다음과 같은 시도 :
$string = "My name is <span class=\"bold\">George</span> and I'm <span class=\"bold\">21</span>.";
$string = preg_replace('/[^<span class="bold">](.*)[^<\/span>]/',' ',$string);
하지만 더 출력을 받고하지있어, 빈 페이지
나는이 출력이 필요합니다.
내가 뭘 잘못하고 있니?
[tag : regex]를 사용하여 [tag : html]을 파싱하는 것은 [ill advised] (http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags). – Xorifelse
@ Xorifelse 문제는'mb_strimwidth ($ string, 0,300, '...', 'utf-8')'를 사용하고 있습니다. 이것이 html 태그에서 끝나면 내 레이아웃이 "충돌"합니다. 그렇지 않으면 나는 물론 CSS를 사용합니다. – David
이것이 문제의 원인이라고 생각하십니까? 문제는 [정규 표현식으로 HTML을 파싱하려고 할 때마다, 신성하지 않은 아이가 처녀의 피를 울리며, 러시아 해커가 당신의 웹 애플리케이션을 푸시 할 때마다]입니다 (http://stackoverflow.com/a/1732454/4982088). – Xorifelse