Php 使用preg match all获取标记的内容

Php 使用preg match all获取标记的内容,php,regex,Php,Regex,如何使用preg match all获取此字符串的链接 <h3 class='post-title entry-title'> <a href='http://domain.blogspot.com/2011/03/blog-post_111.html'>Test Post</a> </h3> 这就是我到目前为止所做的 <?php $string = file_get_contents('http://www.domain.com')

如何使用preg match all获取此字符串的链接

<h3 class='post-title entry-title'>
<a href='http://domain.blogspot.com/2011/03/blog-post_111.html'>Test Post</a>
</h3>

这就是我到目前为止所做的

<?php

$string = file_get_contents('http://www.domain.com');

    $regex_pattern = "/<h3 class=\'post-title entry-title\'>([^`]*?)<\/h3>/";

unset($matches);
preg_match_all($regex_pattern, $string, $matches);


foreach ($matches[0] as $paragraph) {
echo $paragraph;
echo "<br>";
}
?> 


谢谢大家!

不要使用正则表达式来解析HTML。使用DOM解析器,例如。

不要使用正则表达式来解析HTML。使用DOM解析器,例如。

可能
/href='([^']*)”/gi
有帮助吗

在创建正则表达式时,RegExr是一个很好的工具。但是正则表达式的速度远远慢。您可以使用更多的代码和3个函数获得相同的效果:strlen、strpos和substr。这将是如何处理这个问题的fastes版本之一

试一试

也许
/href='([^']*)/gi
有帮助吗

在创建正则表达式时,RegExr是一个很好的工具。但是正则表达式的速度远远慢。您可以使用更多的代码和3个函数获得相同的效果:strlen、strpos和substr。这将是如何处理这个问题的fastes版本之一

试一试


你好,谢谢你提供的信息。你能给我举一个如何转换代码的例子吗?我用它更新了我的帖子。你好,谢谢你提供的信息。你能给我举一个如何转换代码的例子吗?我用它更新了我的帖子。
function between ( $before , $after , $subject )
{
    $subject = $subject;
    $start = strpos ( $subject , $before );
    if ( $start !== false )
    {
        $end = strpos ( $subject , $after , $start );
        if ( $end !== false )
        {
            return substr ( $subject , $start + strlen ( $before ) , $end - ( $start + strlen ( $before ) ) );
        };
    };
    return false;
}