[PHP]Wiki記法テキストのHTML置換サンプル

最近よくやるwiki記法っぽく書いたテキストのHTML置換サンプルソースです

  • [br]を改行タグに変換
  • ||で囲まれた文字にstrongタグを追加
  • ”で囲まれた文字にemタグを追加
  • [[説明文>リンク先のURL]] 説明文へリンクを張る
  • color(色名){文字} spanタグで文字色変更

$text ="||ああああ||aaaaa||aa||[br]''んん''[br][[リンク>https://tenderfeel.xsrv.jp/]]ccolor(#452863){テキスト}aaaa[br]color(#452863){テキスト}[br]aaaaaaaaaa[br]あああああ[br]color(#452863){テキスト}color(#452863){テキスト}";

	$wiki_characters= array('/\|{2}(.+?)\|{2}/i','/\'{2}(.+?)\'{2}/i','/\[{2}(.+?)>(.*?)\]{2}/i','/color\(([\w]+?)\)\173(.+?)\175/i','/color\((#[\d]{6})\)\173(.+?)\175/i','/\[br\]?/');
	$wiki_replace = array('<strong>$1</strong>','<em>$1</em>','<a href="$2">$1</a>','<span style="color:$1;">$2</span>','<span style="color:$1;">$2</span>','<br />');
	$output= preg_replace($wiki_characters,$wiki_replace,$text);
	
	//return $output;
	print($output);

fileとかで作った配列をループで一行ずつ$textにパスすれば置換されます。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください