投稿者 メッセージ
<  PHPプログラミング  ~  正規表現について
hyu
投稿1時間: 木 1月 12, 2006 12:38 pm  引用
ゲスト





スクリプトタグを消そうとeregi_replaceを利用し正規表現で空文字に置き換えようとしたのですが。
<SCRIPT[^>]*>.*<¥/SCRIPT[^>]*>
とすると二つ以上ある場合 大きくみて 一つと見てしまうようです。
そこで
<SCRIPT[^>]*>([^<][^¥/][^S][^C][^R][^I][^P][^T])*<¥/SCRIPT[^>]*>
としたのですが うまくいきません。
トップに移動
ゲスト
投稿1時間: 木 1月 12, 2006 1:30 pm  引用






質問が分かりにくいのでもうちょっと詳しくおねがいします
トップに移動
ゲスト
投稿1時間: 木 1月 12, 2006 5:33 pm  引用






補足します。
HTMLのスクリプトタグを含む文字列のスクリプト部分を空文字に置き換えスクリプトを削除したいと考えています。
<SCRIPT>〜 <SCRIPT>
で前記述したメソッドと正規表現で置き換え文字列を表現しようとしたのですが
うまくいきませんでした。

PS。うまくいきました (。・ω・) トンクス

メソッドをpreg_replaceにし正規表現を
"/<script[^>]*?>.*?<¥/script>/si"
としたところうまくいきました。

eregi_replace で .*?ではうまくどうさしなかったんですが気のせいですかね・・・
時間があったら 試して見ます・・・・・
トップに移動
Hyu
投稿1時間: 木 1月 12, 2006 5:48 pm  引用
ゲスト





★HTML の中に書かれている情報のみを抜き出す。
こんなのを作っていました。 なにかこうした方がいいのではないかなど情報があればplz (THXでした・・・ Very Happy

//改行コード削除
$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);
トップに移動
特定期間内の記事を表示:   
All times are GMT +9:00

次のトピックを表示
前のトピックを表示
Page 1 of 1
フォーラム一覧  ~  PHPプログラミング

トピックの新規投稿   返信


 
移動先:  

新規投稿: 不可
返信: 不可t
自分の記事の編集: 不可
自分の記事の削除: 不可
投票への参加: 不可




Powered by phpBB
customized by phpspot.