1

これを聞いてアマチュアのように感じますが、長い間苦労していて問題を解決できません。

YouTubeの動画とリッチテキストエディタを埋め込んだフォーラムを作っています。HTMLタグをBBCodeに変換する関数と、BBCodeをHTMLに戻す関数が必要です。

BBCodeからHTMLへ

$message = (get message from database);
$A = '/\[youtube](.*?)\[\/youtube\]/is';
$B = '<object type="application/x-shockwave-flash" data="http://www.youtube.com/v/$1" width="425" height="350"><param name="movie" value="http://www.youtube.com/v/$1"><param name="wmode" value="transparent"></object>';
preg_replace($A, $B, $message);

このプロセスを逆にして、HTMLをBBCodeに変換するスクリプトが必要です。誰かが私を助けてくれるなら、私は非常に感謝するでしょう、あるいはもしあればもっと簡単な方法を提案するでしょう、あるいは問題への洞察を提供するかもしれないリンクさえ。

ありがとうございました。

4

1 に答える 1

1

これを試して

$message = 'Some text
<object type="application/x-shockwave-flash" data="http://www.youtube.com/v/abcdefgh" width="425" height="350"><param name="movie" value="http://www.youtube.com/v/abcdefgh"><param name="wmode" value="transparent"></object>
More text
<object type="application/x-shockwave-flash" data="http://www.youtube.com/v/abcdefgh" width="425" height="350"><param name="movie" value="http://www.youtube.com/v/abcdefgh"><param name="wmode" value="transparent"></object>
Even more text';

echo preg_replace("/\<object.*?youtube\.com\/v\/(.*?)\".*?object\>/ims", "[youtube]$1[/youtube]", $message);
于 2013-03-14T00:16:04.687 に答える