如何使用PHP正则表达式查找并返回字符串的一部分?

时间:2012-01-12 05:33:19

标签: php regex

我想查找并返回以“查找”开头并以“eBay”结尾的句子,但我无法让它工作。这就是我现在所拥有的:

if (preg_match("/^Find eBay\.$/", $post->post_content) == 1) {

                    $description = preg_grep("/^Find eBay\.$/", $post->post_content);

                } else {

                    $description = $this->trim_excerpt_without_filters($this->internationalize($post->post_content));

                }

任何建议都会很棒。谢谢!

编辑**

这是我正在搜索的字符串:

<p><a href="http://cgi.ebay.com/ebaymotors/?cmd=ViewItem&amp;_trksid=p3984.m1438.l2649&amp;item=110804005978&amp;sspagename=STRK%3AMEWAX%3AIT">here on eBay</a>Find this 1969 Chevrolet Camaro COPO 427 for sale in New York, .</p>

2 个答案:

答案 0 :(得分:4)

试试这个,。*表示任意数量的任何字符

/^Find.*eBay\.$/

答案 1 :(得分:1)

您的示例字符串不以“查找”开头,也不以“易趣”结尾,因此它与您的示例字符串不匹配。

要匹配您的示例,您需要使用以下内容:

/eBay\<\/a\>Find/

这将匹配包含eBay</a>Find的字符串(尽管您可以使用简单的搜索而不是正则表达式)。