429
回編集
細編集の要約なし |
細編集の要約なし |
||
3行目: | 3行目: | ||
=== FCKEditor で Image のキャプションにタグを使うと余計なコードが挿入される === | === FCKEditor で Image のキャプションにタグを使うと余計なコードが挿入される === | ||
* WYSIWYG 入力フォームのレンダリング時にキャプションも HTML 変換してしまうのが原因 | *WYSIWYG 入力フォームのレンダリング時にキャプションも HTML 変換してしまうのが原因 | ||
* イメージのタイトル部分だけ変換しないようにしてしまうことで対処 | *イメージのタイトル部分だけ変換しないようにしてしまうことで対処 | ||
<syntaxhighlight lang="php"> | <syntaxhighlight lang="php"> | ||
15行目: | 15行目: | ||
if (preg_match_all('/\[\[([a-zA-Z0-9]+:[^\]]+)((?:\|[^\]]+)*)(?:\|([^\|]+))\]\]/Us', $text, $matches, PREG_SET_ORDER)) { | if (preg_match_all('/\[\[([a-zA-Z0-9]+:[^\]]+)((?:\|[^\]]+)*)(?:\|([^\|]+))\]\]/Us', $text, $matches, PREG_SET_ORDER)) { | ||
foreach ($matches as $match) { | foreach ($matches as $match) { | ||
$rep = $this->fck_addToStrtr($match[3], false); | $rep = $this->fck_addToStrtr(htmlspecialchars($match[3], ENT_QUOTES), false); | ||
$rep2 = sprintf('[[%s%s|%s]]', $match[1], $match[2], $rep); | $rep2 = sprintf('[[%s%s|%s]]', $match[1], $match[2], $rep); | ||
$text = str_replace($match[0], $rep2, $text); | $text = str_replace($match[0], $rep2, $text); | ||
22行目: | 22行目: | ||
$render = ($this->mOutputType == OT_HTML); | $render = ($this->mOutputType == OT_HTML); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
= 2012年8月19日(日) = | = 2012年8月19日(日) = |