使用正则表达式关闭标签后获取单词?

时间:2014-02-23 02:57:17

标签: php regex arrays function

我有以下字符串

<strong>Test: </strong> BD-F5300

我有兴趣获得号码BD-F5300。数字可以是任何文字,数字。

任何帮助,我怎么能得到它?感谢。

4 个答案:

答案 0 :(得分:2)

您可以使用preg_replace

<?php
$str='<strong>Test: </strong> BD-F5300';
echo $str = preg_replace("~<(/)?strong>(.*?)<(/)?strong>~","", $str);

<强> OUTPUT :

BD-F5300

enter image description here

答案 1 :(得分:2)

在JavaScript中这样做:

var src = "<strong>Test: </strong> BD-F5300";
var reg = /.*<\/.*>\s*([a-zA-Z0-9-]+)/g;
var group = reg.exec(src);
console.log(group[1]+'\r\n'); //group[1] is what you want !

答案 2 :(得分:1)

如果您只需要在</strong>之后获取一些内容,那么您可以使用:

preg_match('@</strong> (.+)@', $string, $matches);

所需的匹配将在$matches[1]。但是,这要求您要查找的<strong>标记和文本内容都在同一行。如果您想要匹配多个,可以使用preg_match_all

答案 3 :(得分:1)

如果在您想要的最终文本开头之前总是有空格,并且如果您想要的实际数字文本中从不存在任何空格,则可以通过这样做来避免正则表达式:

$str = '<strong>Test: </strong> BD-F5300';
$solution = substr($str, strrpos($str, ' ') + 1);
var_dump($solution);