Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用PHP正则表达式查找并返回字符串的一部分?_Php_Regex - Fatal编程技术网

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

如何使用PHP正则表达式查找并返回字符串的一部分?,php,regex,Php,Regex,我想找到并返回一个以“find”开头,以“eBay”结尾的句子,但我无法让它起作用。以下是我现在拥有的: if (preg_match("/^Find eBay\.$/", $post->post_content) == 1) { $description = preg_grep("/^Find eBay\.$/", $post->post_content); } else {

我想找到并返回一个以“find”开头,以“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>
在纽约出售这款1969年雪佛兰卡马罗科波427


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

/^Find.*eBay\.$/

试试这个,.*表示任意字符的任意数

/^Find.*eBay\.$/

您的示例字符串不以“Find”开头,也不以“eBay”结尾,因此它与您的示例字符串不匹配

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

/eBay\<\/a\>Find/
/eBay\Find/

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

您的示例字符串不以“Find”开头,也不以“eBay”结尾,因此它与您的示例字符串不匹配

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

/eBay\<\/a\>Find/
/eBay\Find/

这将匹配一个包含
eBayFind
的字符串(尽管您可以使用简单的搜索而不是正则表达式)。

感谢您的响应,但它仍然返回负数:(另外,我用字符串更新了我的问题。谢谢!感谢您的回复,但仍然返回否定。:(另外,我用字符串更新了我的问题。谢谢!您正在搜索的字符串既不以“查找”开头,也不以“易趣”结尾……您是对的!(dur)Wordpress的格式很奇怪。奇怪,但与此帖子无关。非常感谢。您正在搜索的字符串既不以“查找”开头,也不以“易趣”结尾……您是对的!(dur)Wordpress的格式很奇怪。奇怪,但与此帖子无关。非常感谢。