처럼 내가 원하는하시기 바랍니다 첫 번째 부분이 첫 번째 부분 앞에오고 싶다면 !
. strstr()
잘 수행합니다. explode('!',$string,2)[0]
은 작동하지만 첫 번째 요소에서 원하는 문자열을 추출하기 전에 배열을 생성하기 때문에 덜 직접적인 해킹입니다.
코드 :
echo trim(strstr($string,'!',true));
출력 :
ip vrf Access-Mgmt
rd 65000:3298
route-target export 65000:4585
route-target export 65000:4717
route-target import 65000:4585
route-target import 65000:2659
또는 텍스트의 첫 번째 블록을 대상으로, 오히려 Access-Mgmt
블록을 원하지 않을 경우,이 패턴으로 preg_match()
를 사용할 수 있습니다 /ip vrf Access-Mgmt[^!]+/
Demo 또는 줄 바꿈 줄 바꾸기 문자를 /ip vrf Access-Mgmt[^!]+(?=\R)/
으로 트림합니다. 여기
처럼 이러한 호출이 볼 수있는 것입니다 : 당신은
http://www.phpliveregex.com/p/m5H
에서으로, preg_match_all을 체크 아웃 할 수
var_export(preg_match('/ip vrf Access-Mgmt[^!]+/',$string,$out)?$out[0]:'fail');
// or
var_export(preg_match('/ip vrf Access-Mgmt[^!]+(?=\R)/',$string,$out)?$out[0]:'fail');
// or
var_export(preg_match('/ip vrf Access-Mgmt[^!]+/',$string,$out)?trim($out[0]):'fail');
가 발생했습니다? – Ghost
첫 번째 단락이 필요합니까? 문제는 '!' 다른 모든 단락의 끝 부분에도 존재합니다 ... 그래서, 첫 번째 발생과 일치해야합니까? – sinisake
예 sinisake, 맞습니다 – infi