スレッド表示 | フラット表示〕 全トピック 920 件中 219 番目 次≫ ≪前

タグで囲まれた文字列の取得

created: 2006-07-13 23:56 | modified: 2006-07-20 03:38 | reply: 2

[3161] タグで囲まれた文字列の取得

user: yuka | created: 2006-07-13 23:56
以下のソースで
「hoge」
を取得したいのですが、うまくいきません・・・
結果は
「<STRONG>hoge</STRONG>hoge2<STRONG>hoge3</STRONG>」
となってしまいます。

<?php
$pattern = "<strong>.*<\/strong>";
preg_match("/".$pattern."/i", "(<STRONG>hoge</STRONG>hoge2<STRONG>hoge3</STRONG>hoge4", $match);
print(htmlspecialchars($match[0]));
?>

宜しくお願い致します。
reply: 3162 返信 編集 削除

[3162] PCREパターン構文

user: ach | created: 2006-07-14 01:16
<strong>.*?</strong>
で得られるはず

preg_*のマッチングに困ったときはPCREパターン構文
http://jp.php.net/manual/ja/reference.pcre.pattern.syntax.php
を上から読んでいくといいですよ.


ただ,タグの場合はネストが許されているので必ずしもこれでうまくいくかどうか……
たとえば
<strong>foo<strong>hoge</strong>bar</strong>
はうまくく処理できるのか?(無理だったと思います)

これに関しては再帰的パターンを使うはずなんですが……
試してないです,すみません.
きれいに処理できたらぜひレポートを書いてください:-)
Parent: 3161  reply: 3167 返信 編集 削除

[3167] ありがとうございます

user: yuka | created: 2006-07-20 03:38
achさん返信ありがとうございますー
うまくいきました。
少し正規表現について勉強してみます。。。

ただ,タグの場合はネストが許されているので必ずしもこれでうまくいくかどうか……
たとえば
<strong>foo<strong>hoge</strong>bar</strong>
はうまくく処理できるのか?(無理だったと思います)

これに関しては再帰的パターンを使うはずなんですが……
試してないです,すみません.
きれいに処理できたらぜひレポートを書いてください:-)
はやはりうまくいきませんでした。
今回はタグのネストがないという仕様なので助かりましたが・・・
Parent: 3162  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 219 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑