>  기사  >  백엔드 개발  >  PHP 컬렉션 문제, 코드에서 여러 공백과 줄 바꿈을 처리하는 방법은 무엇입니까?

PHP 컬렉션 문제, 코드에서 여러 공백과 줄 바꿈을 처리하는 방법은 무엇입니까?

WBOY
WBOY원래의
2016-10-11 14:23:421061검색

소스코드는 다음과 같습니다.

<code><a class="figure  figure-180236 "
                                
                                                                             data-qidanadd-albumid="543438400"
                data-qidanadd-episode="0" data-qidanadd-channelid="1" data-qidanadd-tvid="543438400" data-qidanadd-vip="0" data-widget-qidanadd="qidanadd"
                 data-widget-block="block" data-block-type="qs1404043"
     data-searchpingback-elem="link"  data-searchpingback-param="ptype=1-1"                             href="http://www.iqiyi.com/v_19rr9g9wks.html?fc=87451bff3f7d2f4a#vfrm=2-3-0-1" data-playsrc-linktype="play"
                        data-playsrc-elem="pic"
            data-pb="rtgt=iqiyi&p2=9000"
 target="_blank"></code>

컬렉션 PHP 코드는 다음과 같습니다.

<code>preg_match("#<a class=\"figure  figure-180236 \" data-qidanadd-albumid=\"543438400\" data-qidanadd-episode=\"0\" data-qidanadd-channelid=\"1\" data-qidanadd-tvid=\"543438400\" data-qidanadd-vip=\"0\" data-widget-qidanadd=\"qidanadd\" data-widget-block=\"block\" data-block-type=\"qs1404043\" data-searchpingback-elem=\"link\" data-searchpingback-param=\"ptype=1-1\" href=\"(.*?)\" data-playsrc-linktype=\"play\" data-playsrc-elem=\"pic\" data-pb=\"rtgt=iqiyi&p2=9000\" target=\"_blank\">#",$content,$array);</code>

그런데 이런 경우에는 정보를 수집할 수 없나요? 해결

답글 내용:

소스코드는 다음과 같습니다.

<code><a class="figure  figure-180236 "
                                
                                                                             data-qidanadd-albumid="543438400"
                data-qidanadd-episode="0" data-qidanadd-channelid="1" data-qidanadd-tvid="543438400" data-qidanadd-vip="0" data-widget-qidanadd="qidanadd"
                 data-widget-block="block" data-block-type="qs1404043"
     data-searchpingback-elem="link"  data-searchpingback-param="ptype=1-1"                             href="http://www.iqiyi.com/v_19rr9g9wks.html?fc=87451bff3f7d2f4a#vfrm=2-3-0-1" data-playsrc-linktype="play"
                        data-playsrc-elem="pic"
            data-pb="rtgt=iqiyi&p2=9000"
 target="_blank"></code>

컬렉션 PHP 코드는 다음과 같습니다.

<code>preg_match("#<a class=\"figure  figure-180236 \" data-qidanadd-albumid=\"543438400\" data-qidanadd-episode=\"0\" data-qidanadd-channelid=\"1\" data-qidanadd-tvid=\"543438400\" data-qidanadd-vip=\"0\" data-widget-qidanadd=\"qidanadd\" data-widget-block=\"block\" data-block-type=\"qs1404043\" data-searchpingback-elem=\"link\" data-searchpingback-param=\"ptype=1-1\" href=\"(.*?)\" data-playsrc-linktype=\"play\" data-playsrc-elem=\"pic\" data-pb=\"rtgt=iqiyi&p2=9000\" target=\"_blank\">#",$content,$array);</code>

그런데 이런 경우에는 정보를 수집할 수 없나요? 해결

PHP의 정규식 모드를 연구하세요. 여기에는 여러 줄 일치가 귀하의 요구를 충족할 수 있다는 의미인 m이 있습니다. http://php.net/manual/en/refe....

html 파싱에는 DiDom 사용을 권장합니다
jquery와 유사한 DOM 선택

최종 분석에서는 하이퍼링크의 href 링크 주소만 얻으려는 거겠죠? 정규식을 너무 많이 작성할수록 여러 줄 일치가 더 어려워집니다. 위에서 언급한 것처럼 특수 패턴 일치 문자가 있습니다. 저는 주로 s

를 사용합니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.