[PHP-users 20657]HTMLタグの抽出と日本語文字の表示についての質問。
柳町 洋光
hiromitsu @ m9.dion.ne.jp
2004年 3月 6日 (土) 14:14:17 JST
はじめまして、PHPを始めてまだ1ヶ月程度の初心者です。よろしくお願いします。
初歩的なことはできるようになったつもりで、HTMLエディターのようなものをブラウザー上に作ってホームページの更新が簡単にできるようにしようと考えています。
タグを見せることなく、編集機能を実装したいと思っています。
HTMLファイルのなかで、タグと内容をファイルの行数インデックスを持つ配列に格納し、編集する部分をチェックして簡単に内容だけを書き換えてホームページを更新できるように考えています。
標準関数にそのような関数があるなら、教えていただきたいとおもいます。
また、現在以下のようにして上記のことを実現しようとしていますが、どうしても表示がおかしくなってしまいます。
考え方が間違っていることは明らかなのですが、なにをどうしていいのか分かりません。
どうかよろしくお願いします。
#!/usr/local/bin/php4
<?php
$string="<table><tr><td>1</td><td>2</td></tr><tr><td>3</td><td>4</td></tr></table>";
$data=split_tags($string);
echo "メイン処理";
print_r($data);
?>
<html>
<head>
<title>タグ分解テスト</title>
</head>
<body text="black" bgcolor="white">
<?php
for($i=0;$i<count($data)-2;$i++){
print($data[$i]);
}
?>
</body>
</html>
<?php
exit();
function split_tags($string){
$string=stripslashes($string);
$sp=0;
$array=array("tmp"=>"tmp");
$tmp="";
while($sp<strlen($string)){
if($string[$sp]!="<"){
$tmp.=$string[$sp];
$sp=$sp+1;
}
else{
if($tmp!=""){
array_push($array,$tmp);
$tmp="";
}
for($i=$sp;$i<$sp+mb_strpos($string,">",$sp+1);$i++){
$tmp.=$string[$i];
}
array_push($array,$tmp);
$tmp="";
$sp=$i+1;
}
}
return $array;
}
?>
PHP-users メーリングリストの案内