-1

特定の HTML タグ、つまりを含む文字列、<b>またはタグを含まない文字列をチェックするのに適した正規表現を知りたいです。PHP preg_match を使用します。<i><a>

例えば:

"This a text only.." return true
"This is a <b>bold</b> text" return true
"this is <script>alert('hi')</script>" return false
"this is <a href="#">some</a>and <h1>header</h1>" return false
4

1 に答える 1

8

strip_tags()代わりに使用してみてください。正規表現は、HTML タグの解析には適していません。

var_dump(isTextClean('This a text only..')); // true
var_dump(isTextClean('This is a <b>bold</b> text')); // true
var_dump(isTextClean('this is <script>alert(\'hi\')</script>')); // false
var_dump(isTextClean('this is <a href="#">some</a>and <h1>header</h1>')); // false

function isTextClean($input) {
    $result = strip_tags($input, '<b><i><a>');

    if ($result != $input) {
        return false;
    } else {
        return true;
    }
}
于 2012-08-12T01:01:52.857 に答える