繁体   English   中英

preg_match_all问题

[英]preg_match_all issue

我正在解决这个小的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,但是显然,它们无法匹配它们,有人可以帮我吗?

顺便说一句:我正在阅读内容。 谢谢

效果很好:

   <?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);

我已经测试过您的代码

<?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"
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM