投稿者 |
メッセージ |
|
< PHPプログラミング ~ 正規表現について |
|
時間:
木 1月 12, 2006 12:38 pm
|
|
|
|
スクリプトタグを消そうとeregi_replaceを利用し正規表現で空文字に置き換えようとしたのですが。
<SCRIPT[^>]*>.*<¥/SCRIPT[^>]*>
とすると二つ以上ある場合 大きくみて 一つと見てしまうようです。
そこで
<SCRIPT[^>]*>([^<][^¥/][^S][^C][^R][^I][^P][^T])*<¥/SCRIPT[^>]*>
としたのですが うまくいきません。 |
|
|
|
|
|
|
|
時間:
木 1月 12, 2006 1:30 pm
|
|
|
|
質問が分かりにくいのでもうちょっと詳しくおねがいします |
|
|
|
|
|
|
|
時間:
木 1月 12, 2006 5:33 pm
|
|
|
|
補足します。
HTMLのスクリプトタグを含む文字列のスクリプト部分を空文字に置き換えスクリプトを削除したいと考えています。
<SCRIPT>〜 <SCRIPT>
で前記述したメソッドと正規表現で置き換え文字列を表現しようとしたのですが
うまくいきませんでした。
PS。うまくいきました (。・ω・) トンクス
メソッドをpreg_replaceにし正規表現を
"/<script[^>]*?>.*?<¥/script>/si"
としたところうまくいきました。
eregi_replace で .*?ではうまくどうさしなかったんですが気のせいですかね・・・
時間があったら 試して見ます・・・・・ |
|
|
|
|
|
|
|
時間:
木 1月 12, 2006 5:48 pm
|
|
|
|
★HTML の中に書かれている情報のみを抜き出す。
こんなのを作っていました。 なにかこうした方がいいのではないかなど情報があればplz (THXでした・・・
//改行コード削除
$htmltxt = str_replace("\r","",$htmltxt);
$htmltxt = str_replace("\n","",$htmltxt);
//ヘッター削除
//$htmltxt = mb_eregi_replace("<HEAD[^>]*>.*<\/?HEAD[^>]*>"," ",$htmltxt);
$htmltxt = preg_replace( "/<head[^>]*?>.*?<\/head>/si", NULL, $htmltxt );
//スクリプト削除
$htmltxt = preg_replace( "/<script[^>]*?>.*?<\/script[^>]*>/si", NULL, $htmltxt );
//スタイルシート削除
$htmltxt = preg_replace( "/<style[^>]*?>.*?<\/style[^>]*>/si", NULL, $htmltxt );
//タグ削除(スクリプトタグ、スタイルシートタグを除く)
$htmltxt = strip_tags($htmltxt);
//スペース・タブ削除
$htmltxt = str_replace(" ","",$htmltxt);
$htmltxt = str_replace("\t","",$htmltxt); |
|
|
|
|
|
|
|
|
新規投稿: 不可 返信: 不可t 自分の記事の編集: 不可 自分の記事の削除: 不可 投票への参加: 不可
|
|