使用正則表達式或其他方法從html中提取文本 - extract text from html using regex or other method -开发者知识库

使用正則表達式或其他方法從html中提取文本 - extract text from html using regex or other method -开发者知识库,第1张

i am trying to extract the text "abcdef" from the following html using regex:

我試圖使用正則表達式從以下html中提取文本“abcdef”:

<a href="xyz.com" rel="bookmark" title="hello_world">abc def</a>

i am trying this pattern

我正在嘗試這種模式

$pattern = "<a href=(.*?) rel='bookmark' title=(.*?)>(.*?)</a>"

it would be helpful if anyone help me to figure out the pattern . I am using PHP .

如果有人幫我弄清楚模式會有所幫助。我正在使用PHP。

thanks

謝謝

1 个解决方案

#1


3  

Use DOMDocument instead. Specifically, DOMDocument::loadHTML. Your life will be much easier.

請改用DOMDocument。具體來說,DOMDocument :: loadHTML。你的生活會輕松得多。

You could use a pattern like the following, but I really don't recommend using regexes to manipulate HTML:

你可以使用如下的模式,但我真的不建議使用正則表達式來操作HTML:

/<a\s href\s*=\s*"([^"] )"\s rel\s*=\s*"([^"] )"\s title\s*=\s*"([^"] )"\s*>([^<] )<\/a>/

I also noticed that in your regular expression you have rel='bookmark' whereas the original string has rel="bookmark". This is probably why your original regex is not working.

我還注意到,在你的正則表達式中,你有rel ='bookmark',而原始字符串有rel =“bookmark”。這可能是原始正則表達式不起作用的原因。

最佳答案:

本文经用户投稿或网站收集转载,如有侵权请联系本站。

发表评论

0条回复