2012-02-03 9 views
1

私のウェブサイトには、ユーザーが作成したコンテンツがあります。私はwysiwygエディタを持っていますが、ビューソース部分があります。私はいくつかの承認タグを持っています。div内のタグがdiv外の要素に影響しないようにするにはどうすればよいですか?

しかし、ユーザーがそれを閉じずに入れてもどうですか?残りのページの残りの部分。 どうすればこの問題を回避できますか。私はactaullyあなたがワードプレスは、このそれまでは、私はそれをテストし、そのワードプレスを見つけたんどのように見て伝えたかった

答えて

0

は私が開いているのdivで簡単に自分のページを破り、私はこれを見つけたとにかく彼らに

をcolosingすることはできません^^気にしません。 。

/** * close all open xhtml tags at the end of the string 
* * @param string $html 
* @return string 
* @author Milian <[email protected]> 
*/function closetags($html) { 
    #put all opened tags into an array 
    preg_match_all('#<([a-z]+)(?: .*)?(?<![/|/ ])>#iU', $html, $result); 
    $openedtags = $result[1]; #put all closed tags into an array 
    preg_match_all('#</([a-z]+)>#iU', $html, $result); 
    $closedtags = $result[1]; 
    $len_opened = count($openedtags); 
    # all tags are closed 
    if (count($closedtags) == $len_opened) { 
    return $html; 
    } 
    $openedtags = array_reverse($openedtags); 
    # close tags 
    for ($i=0; $i < $len_opened; $i++) { 
    if (!in_array($openedtags[$i], $closedtags)){ 
     $html .= '</'.$openedtags[$i].'>'; 
    } else { 
     unset($closedtags[array_search($openedtags[$i], $closedtags)]); } 
    } return $html;} 

これはあなたが探しているものである必要があります。

0

これは一般的に非常に複雑なトピックであり、簡単なショートカットはありません。ホイールの再発明を開始する前に、正確に行うように設計されたライブラリを使用してください。たぶんHTML Purifierは、唯一ではないにしても、数少ないライブラリの1つです。

関連する問題