문제

HTML 파일의 컨텐츠가있는 문자열에서 preg_reg를 사용해야합니다.

$file = file_get_contents($path);
$html_array = explode(' ', $file);

문제는 배열이 때때로 다음과 같이 보인다는 것입니다.

[77]=>
    string(35) "<div>
</div>
<br>
{{testto}}
<br>"

나는 거기에 약간의 공백을 넣으려고 노력했다 .. : P는 작동하지 않을 것이다 .. :/ 나중에 나는 다음과 같이 preg_grep를 할 것이다 :

$childframes = preg_grep('!\{\{(\w+)\}\}!', $html_array);
$retur = array();
foreach($childframes as $v){
   $v = trim($v);
   $retur[] = substr($v, 2, -2);
}
return $retur;

따라서 아이디어는 기본적으로 얻을 수 있습니다 {{testto}} 배열에서 모든 발생 {{sometext}} 여기서 나는 그것을 'sometext'로만 내려 놓았습니다.

감사합니다 =)

편집하다:

문제를 반복하려면 : 폭발은 제대로 작동하지 않으므로 가능한 경우 공백 대신에 약간의 정규식이 필요합니다.

도움이 되었습니까?

해결책

폭발, 임시 배열을 만들 필요가없고, grep 및 나중에 스트라이프 할 필요가 없습니다.

$html = file_get_contents($path);
preg_match_all('#{{(.*?)}}#', $html, $matches);
$array_of_texts = $matches[1];

다른 팁

당신은 그냥 사용하고 싶지 않습니다 :

strip_tags($v)

먼저 모든 HTML 태그를 제거 할 수 있도록 코드가 'sometext'를 올바르게 얻습니다.

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