参加一个大文本的一部分

时间:2011-04-22 19:16:05

标签: php string function text strstr

假设我们有一个字符串($ text)

I will help you out, if <b>you see this message and never forget</b> blah blah blah

我想将“<b>”中的文字转换为“</b>”到新字符串($ text2) 怎么办呢?

我感谢任何帮助。谢谢!

编辑: 我想要这样的代码。

<embed type="application/x-shockwave-flash"></embed>

3 个答案:

答案 0 :(得分:2)

如果您只希望第一场比赛并且不希望匹配<b class=">之类的内容,则以下内容将有效:

更新评论:

$text = "I will help you out, if <b>you see this message and never forget</b> blah blah blah";
$matches = array();
preg_match('@<b>.*?</b>@s', $text, $matches);
if ($matches) {
    $text2 = $matches[0];
    // Do something with $text2
}
else {
    // The string wasn't found, so do something else.
}

但是对于更复杂的东西,你真的应该按照Marc B.的评论将其解析为DOM。

答案 1 :(得分:1)

使用这个错误的mofo:http://fr2.php.net/domdocument

$dom = new DOMDocument();
$dom->loadHTML($text);

$xpath = new DOMXpath($dom);
$nodes = $xpath->query('//b');

在这里你可以遍历每一个,或者如果你知道只有一个,只需抓住它。

$text1 = $nodes->item(0)->nodeValue;

答案 2 :(得分:-1)

strip_tags($text, '<b>');

将仅提取<b> </b>

之间的字符串部分

如果是你要找的行为。