regexp用于查找<a>和</a>标记之间的所有内容

Vik*_*aer 5 php regex

我试图找到一种方法,使之间的所有内容的列表<a></a>标签.所以我有一个链接列表,我想得到链接的名称(不是链接的位置,而是它们在页面上调用的内容).对我来说真的很有帮助.

目前我有这个:

$lines = preg_split("/\r?\n|\r/", $content);  // content is the given page
foreach ($lines as $val) {
  if (preg_match("/(<A(.*)>)(<\/A>)/", $val, $alink)) {     
    $newurl = $alink[1];

    // put in array of found links
    $links[$index] = $newurl;
    $index++;
    $is_href = true;
  }
}
Run Code Online (Sandbox Code Playgroud)

Tom*_*lak 15

标准免责声明适用:使用正则表达式解析HTML并不理想.成功取决于逐个字符级别的输入的良好形成.如果你不能保证这一点,正则表达式将无法在某些时候做正确的事情.

话说回来:

<a\b[^>]*>(.*?)</a>   // match group one will contain the link text
Run Code Online (Sandbox Code Playgroud)