0

/story.php?title=googlegoogle-google-googlestringから取得しようとしています$cool。これを取得する唯一の方法は、複数行の正規表現を使用することです。以下のコードを試しましたが、うまくいきませんでした。誰でもこれで私を助けることができますか?

<?php 

    $cool ='<li><span class="sidebar-vote-number"><a href="/story.php?title=gamestarts now">1</a></span><span class="sidebar-article"><a href="/story.php?title=googlegoogle-google-google" class="switchurl">GoogleGoogle Google Google</a></span></li>

        Published News</a></div>
        </div>
        <div class="boxcontent">
            <ul class="sidebar-stories">

        <li><span class="sidebar-vote-number"><a href="/story.php?title=googlegoogle-google-google">1</a></span><span class="sidebar-article"><a href="/story.php?title=googlegoogle-google-google" class="switchurl">GoogleGoogle Google Google</a></span></li>';


    preg_match('/Published News<\/a><\/div>
        <\/div>
        <div class="boxcontent">
            <ul class="sidebar-stories">

        <li><span class="sidebar-vote-number"><a href="(.*?)"/msU', $cool, $match);


    echo $match[1];


        ?>  
4

4 に答える 4

3

何が問題になっていますか

preg_match('~Published News.*<li><span class="sidebar-vote-number"><a href="([^"]*)~ms', $cool, $match);

?正しい変数を使用していることを確認してください$cool

あなたは確かに何を知っていますか?どのパターン?

于 2013-03-11T17:48:02.153 に答える
0
 preg_match('/Published News<\/a><\/div>
        <\/div>
        <div class="boxcontent">
            <ul class="sidebar-stories">

        <li><span class="sidebar-vote-number"><a href="(.*)">/msU', $cool, $match);

できます。

于 2013-03-11T17:52:59.713 に答える
0

「それを取得する唯一の方法は、複数行の正規表現を使用することです。」ああ、そうではありません。

それとは別に、データを$ coolという変数に割り当てていますが、$ gameという変数をpreg_match()関数に渡しています。

于 2013-03-11T17:47:13.417 に答える
0

HTML 文字列が半整形式の場合は、Xpath を使用できます。http://codepad.org/vVBFNY7r

<?php
$cool ='<ul><li>
<span class="sidebar-vote-number"><a href="/story.php?title=gamestarts now">1</a></span>
<span class="sidebar-article"><a href="/story.php?title=googlegoogle-google-google" class="switchurl">GoogleGoogle Google Google</a></span>
</li></ul>';
$dom = new DOMDocument();
$dom->loadHTML($cool);

$xpath = new DOMXPath($dom);
$elements= $xpath->query('//a/@href');

if (!is_null($elements)) {
  foreach ($elements as $element) {
    echo "<br/>[". $element->nodeName. "]";

    $nodes = $element->childNodes;
    foreach ($nodes as $node) {
      echo $node->nodeValue. "\n";
    }
  }
}

出力:

<br/>[href]/story.php?title=gamestarts now
<br/>[href]/story.php?title=googlegoogle-google-google
于 2013-03-11T18:10:03.397 に答える