[PHP-users 34999] Re: htmlタグの<と単なる<の区別

NiwaNobuo niwa @ kobuta.com
2010年 2月 14日 (日) 09:56:01 JST


 丹羽です。

システム全体に対して部分となる点に、
多大な労力を取られるのもつらいので、
ぐっと志を下げて、
タグをのぞいたテキストファイルにできないかとして
試してみると(変なタグの使い方ですが)
上から
<>
(空行)
(空行)
<>
table summary="2>1"

となるのを期待していますが、最後は正規表現で検索するとどうなるのなか?
とテストしたもので、思惑通りに動作するための正規表現自体としては誤ってま
す。
使えるタグの集合を配列に設定したとして、
うまい正規表現を考えれば、タグをとりのぞくことができるでしょうか?
いろいろ考えると、最初っから地の文の<>を&lt;&gt;と入力すればいいんじゃ?
に話がもどってしまいます。そうすると、校正ミス、校正もれが起こる可能性が
あり避けたいのです。

<?php
$str = '<table abc><>';
echo strip_tags($str);
echo '<br>';
$str = '<table summary="2>1">';
echo strip_tags($str);
$str = '<img alt="2>1">';
echo strip_tags($str);
echo '<br>';
$str = '<table summary="2>1"><>';
echo strip_tags($str);
echo '<br>';
$str=str_replace(array('<','>'),array('&lt;','&gt;'),$str);
if (ereg('&lt;(.*)&gt;',$str,$temp)) echo $temp[1];
?>


PHP-users メーリングリストの案内