Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Sammlungsproblem, wie gehe ich mit mehreren Leerzeichen und Zeilenumbrüchen im Code um?

PHP-Sammlungsproblem, wie gehe ich mit mehreren Leerzeichen und Zeilenumbrüchen im Code um?

WBOY
WBOYOriginal
2016-10-11 14:23:421060Durchsuche

Der Quellcode ist:

<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>

Der PHP-Code der Sammlung lautet:

<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>

Aber die Informationen können in diesem Fall nicht erfasst werden? Lösen Sie

Antwortinhalt:

Der Quellcode ist:

<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>

Der PHP-Code der Sammlung lautet:

<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>

Aber die Informationen können in diesem Fall nicht erfasst werden? Lösen Sie

Bitte studieren Sie den regulären Ausdrucksmodus von PHP. Es enthält ein m, was bedeutet, dass der mehrzeilige Abgleich Ihren Anforderungen entsprechen kann, http://php.net/manual/en/refe....

Es wird empfohlen, DiDom für die HTML-Analyse zu verwenden
DOM-Auswahl ähnlich wie bei jquery

Letztendlich möchten Sie nur die href-Linkadresse des Hyperlinks erhalten, oder? Sie haben zu viele reguläre Ausdrücke geschrieben. Außerdem ist es schwieriger, sie abzugleichen hat wie oben erwähnt spezielle Mustervergleichszeichen, ich verwende normalerweise s

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn