匹配多个结果单行php正则表达式
我想在一行字符串上匹配多个结果,但我只能得到我期望的结果的最后一次迭代 例如,我有一个字符串:匹配多个结果单行php正则表达式,php,regex,Php,Regex,我想在一行字符串上匹配多个结果,但我只能得到我期望的结果的最后一次迭代 例如,我有一个字符串: 我想得到: 测试1 测试2 测试3 结果是,我只得到了“test3” 我使用了这个正则表达式(),但我不知道我做错了什么。试试这样: (?<=(<a href="#">))([\s\S]| |w\[0-9]| )+?(?=(<\/a>)) or (?<=(">))([\s\S]| |w\[0-9]| )+?(?=(<\/a>)) or (?<
我想得到:
测试1
测试2
测试3
结果是,我只得到了“test3”
我使用了这个正则表达式(),但我不知道我做错了什么。试试这样:
(?<=(<a href="#">))([\s\S]| |w\[0-9]| )+?(?=(<\/a>))
or
(?<=(">))([\s\S]| |w\[0-9]| )+?(?=(<\/a>))
or
(?<=(<a href="#">))(.)+?(?=(<\/a>))
(?像这样尝试:
(?<=(<a href="#">))([\s\S]| |w\[0-9]| )+?(?=(<\/a>))
or
(?<=(">))([\s\S]| |w\[0-9]| )+?(?=(<\/a>))
or
(?<=(<a href="#">))(.)+?(?=(<\/a>))
(?改用解析器:
preg_match_all("\#\"\>[a-z]\w+\<\/\a\>,
$out, PREG_PATTERN_ORDER)
这将设置DOM
,并使用xpath
表达式来获取元素。请改用解析器:
preg_match_all("\#\"\>[a-z]\w+\<\/\a\>,
$out, PREG_PATTERN_ORDER)
这将设置DOM
,并使用xpath
表达式来获取元素。preg\u match\u all(\\\\”\>[a-z]\w+\,
$out,预模式(订单)
这是正则表达式模式…试试这个
(“\\”>[a-z]\w+\)
这将仅提取所有文本字符串….preg\u match\u all(“\\\\”\>[a-z]\w+\,
$out,预模式(订单)
这是正则表达式模式…试试这个
(“\\”>[a-z]\w+\)
这将仅提取所有文本字符串。…您可以使用preg\u replace
$test='';
echo preg_替换('/]*>/',''$test);
您可以使用preg\u replace
$test='';
echo preg_替换('/]*>/',''$test);
preg\u match\u all
好吧,模式是错误的。不是每个
都包含在
中。为了上下文/简单起见,您必须使用两个regexp。如果不使用,请使用DOM遍历前端:qphtml($html,“ul-li”)
@mario:我想这只是问题描述中的一个错误。preg\u match\u all
好吧,模式是错误的。不是每个都包含在
中。为了上下文/简单起见,您必须使用两个regexp。而不使用DOM遍历前端:qphtml($html,“ul li”)
@mario:我想这只是问题描述中的一个错误。
$test = '<ul><li><a href="#">test1</a></li><li><a href="#">test2</a></li><a href="#">test3</a></li></ul>';
echo preg_replace('/<[^>]*>/', ' ', $test);