jidaikobo です。
しつこく FormProcessByHtml.class.php の件ですが、ひとつ気づいたことがあります。
134行目、
if( strstr( $fieldsetblock , $tag ) && preg_match( '#<legend[^>]*>([^<]+)</legend>#' , $fieldsetblock , $sub_regs ) ) {
ですが、legend の中で、html のタグが出てきたときに、legend の値を取得しないようになっているとおもいます。
でも、legend 自体は、DTD としては、中になにか要素がきてもいい要素(*)なので、たとえば span、strong とかがくると、値を取得できなくなります。
フォームの html 側でいくらでも回避方法はあるのですが、せっかく自由に html がかける仕組みですし、
if( strstr( $fieldsetblock , $tag ) && preg_match( '#<legend[^>]*>(.+)</legend>#' , $fieldsetblock , $sub_regs ) ) {
としちゃうとマズいでしょうか?
あいかわらず、なにか勘違いしてたらすみません……
* %inline だからインライン要素限定ですが。