正则表达式PHP问题

时间:2009-08-16 22:21:11

标签: php regex

不会撒谎,我在正则表达式上很糟糕。

我怎么能做这些人:

$string = '>Data 1-23</a>';
$string = '>Datkl3</a>';
$string = '>RA Ndom</a>';

使用正则表达式从上面的字符串中取出“数据1-23”?如果我有多个这样的话,我怎么能把所有匹配的字符串放到一个数组中呢?

2 个答案:

答案 0 :(得分:5)

如果您要查找超链接中的文字,最好的选择是SimpleHTMLDom。这是一个简单的例子:

$html = file_get_html('http://www.amazon.com/');
foreach($html->find('a') as $element)
  echo $element->innertext . '<hr/>';

解析DOM树比简单的正则表达式提供更可靠的结果

希望有所帮助!

答案 1 :(得分:3)

<?php
  $string = ">Data 1-23</a>";
  $pattern = '/>([^<]*)</a>/';
  preg_match($pattern, $subject, $matches);
  print_r($matches);
?>

据我所知,应该给你你想要的东西。