2016-09-25 2 views
0
<a param1="false" class="param2" id="id#12" href="#1">toto</a> 
나는 HTML 텍스트의 특정 PARAMS을 제거하기 위해 PHP preg_replace이다을 한

:PHP에서 preg_replace를 사용하여 대체 공간을 제거 하시겠습니까?

<a href="#1">toto</a>

I :

$re = "/(param1=\"false\"|class=\"param2\"|id=\"id#([^\"]+)\")/"; 

$text = preg_replace($re, " ", $data->text->value); 

내가이 HTML 링크를 얻을 사이에 하나의 공백 만 남기고 싶습니다. href, 가능한 그것을 정규식에서 직접 할 수 있습니까?

답변

1
는 다음과 같은 방법으로 일반 정기 변경

수행 할 수있는 유일한 방법은,

$re = '/(param1="false"\s+|class="param2"\s+|id="id#([^\"]+)"\s+)/'; 

입니다.

다음과 같은 방법으로 preg_replace() 기능을 변경,

$text = preg_replace($re, "", $data->text->value); 

은 그것 뿐이다, 공간을 교체하지 마십시오.

0

"preg_match"에서 모든 백 프레 젠스를 사용해야한다고 가정합니다. 이것은 당신이 당신의 구성 요소의 각 \s+을 전달해야 당신이

$re = "/<a.*(param1=\"false\"|class=\"param2\"|id=\"id#([^\"]+)\")/"; 
$text = preg_replace($re, "<a", $data->text->value); 
0

이 작업을 시도 할 수 :

$re = "/(param1=\"false\"|class=\"param2\"|id=\"id\#([^\"]+)\")([\ ]{1,}?)/"; 
$text = preg_replace($re, "", $data->text->value); 

Regex101

관련 문제