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