-1

私はこの小さな php の問題と戦っています。ページから URL 部分を読み取ろうとしています。

phpコードはこれです:

preg_match_all('!<a href="Jobbörse-reader\/items\/(.*?)" title=".+">(.*?)</a>!',$content,$ergebnisse);

私の問題は、それpreg_match_all()が 0 を返すことです。私var_dumpが の場合$ergebnisse、次のような空の配列を取得しています:

array(3) { [0]=> array(0) { } [1]=> array(0) { } [2]=> array(0) { } }

私が読んでいるページコードはこれです:

<a href="Jobbörse-reader/items/somelink.html" title="some text">NAME</a>

somelink.html と NAME が必要ですが、明らかに一致しません。誰か助けてください。

ところで:私はコンテンツを正常に読んでいます。ありがとう

4

2 に答える 2

1

うまく動作します:

   <?php $content='<a href="Jobbörse-reader/items/somelink1.html" title="some text1">NAME1</a>

    <a href="Jobbörse-reader/items/somelink2.html" title="some text2">NAME2</a>

    <a href="Jobbörse-reader/items/somelink3.html" title="some text3">NAME3</a>';

    preg_match_all('!<a href="Jobbörse-reader\/items\/(.*?)" title=".+">(.*?)</a>!',$content,$ergebnisse);

    print_r($ergebnisse);
于 2012-12-11T10:59:46.173 に答える
1

私はあなたのコードをテストしました

<?php
$content='<body>
<a href="Jobbörse-reader/items/somelink.html" title="some text">NAME</a>
</body>';
echo preg_match_all('!<a href="Jobbörse-reader\/items\/(.*?)" title=".+">(.*?)</a>!',$content,$ergebnisse);
echo "\n";
var_dump($ergebnisse);

そして、それは完全に機能します:

$ php test.php 
1
array(3) {
  [0]=>
  array(1) {
    [0]=>
    string(73) "<a href="Jobbörse-reader/items/somelink.html" title="some text">NAME</a>"
  }
  [1]=>
  array(1) {
    [0]=>
    string(13) "somelink.html"
  }
  [2]=>
  array(1) {
    [0]=>
    string(4) "NAME"
  }
}
于 2012-12-11T11:01:00.600 に答える