2009-08-16 87 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樹給出的結果不是一個簡單的正則表達式

希望幫助更可靠!