0

文字列 ($text) があるとしましょう

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

<b>" "から " " までのテキストを新しい文字列 ($text2) に取り込みたいのですが</b>、どうすればよいですか?

私が得ることができる助けに感謝します。ありがとう!

編集:このようなコードを取りたいです。

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

3 に答える 3

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 として解析する必要があります。

于 2011-04-22T19:27:30.390 に答える
1

この悪い mofo を使用してください: http://fr2.php.net/domdocument

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

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

ここで、それぞれをループするか、1 つしかないことがわかっている場合は値を取得します。

$text1 = $nodes->item(0)->nodeValue;
于 2011-04-22T19:26:56.693 に答える
-1
strip_tags($text, '<b>');

間の文字列の部分のみを抽出します<b> </b>

それがあなたが探している動作である場合。

于 2011-04-22T19:22:49.017 に答える