Reqex问题:提取单词
lucky
charms发件人字符串:
<a>lucky <b>charms</b></a>我的尝试是:
preg_match_all("/<(.*)>(.*)<\/(.*)>+/is", $text, $matches);
print_r($matches);结果:
Array
(
[0] => Array
(
[0] => <a>lucky <b>charms</b></a>
)
[1] => Array
(
[0] => a>lucky <b>charms</b
)
[2] => Array
(
[0] =>
)
[3] => Array
(
[0] => a
)
)发布于 2013-02-26 07:07:41
结束标记和下一个开始标记之间的所有内容如何?
preg_match_all("/\>([^\<]+)\</is", $text, $matches);那么你想要的匹配项就是$matches[1]格式的
Array
(
[0] => Array
(
[0] => >lucky <
[1] => >charms<
)
[1] => Array
(
[0] => lucky
[1] => charms
)
)发布于 2013-02-26 07:03:18
如果你总是有这样的结构,你可以使用:
preg_match("#<(.*?)>(.*?)<(.*?)>(.*?)</\\3></\\1>#is", '<a>lucky <b>charms</b></a>', $matches);$matches包含以下内容:
array(5) {
[0]=>
string(26) "lucky charms"
[1]=>
string(1) "a"
[2]=>
string(6) "lucky "
[3]=>
string(1) "b"
[4]=>
string(6) "charms"
}发布于 2013-02-26 07:03:34
你的正则表达式是不合适的,因为*是在使用gready吗?在下面这样的代码中设置* non-gready或更改正则表达式
<([^>]+)>(.*?)</\1>https://stackoverflow.com/questions/15078152
复制相似问题