문제
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'를 올바르게 얻습니다.
제휴하지 않습니다 StackOverflow