2009-08-16 89 views
0

不会说谎,我在正则表达式可怕。正则表达式PHP质疑

我怎么能做到这一点的家伙:

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

而且从使用正则表达式上面的字符串内拉出“数据1-23”?如果我有这样多的人,我将如何能够把所有匹配的字符串到一个数组?

+0

如果你给了多个例子字符串和你之后的结果这将有助于。我的意思是,给定的这个简单的例子,做了$字符串=〜S /> //克;好像它就够了,但我怀疑这是你想要的。 – 2009-08-16 22:25:17

+0

感谢HTW,是一个愚蠢的错误忘了,即使我知道代码LOL。再次感谢 – James 2009-08-16 22:31:39

+0

你们是不是要拔出文本字符串“数据1-23”,或让所有的“A”标记的内容是什么? – TheJacobTaylor 2009-08-16 23:29:40

回答

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

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

5

如果你正在寻找的文本超链接最好的办法是SimpleHTMLDom。这里有一个简单的例子:

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

解析DOM树给出的结果不是一个简单的正则表达式

希望帮助更可靠!