[過去ログ] 正規表現道場@2ch Part3 s/煽り|荒らし/あぼーん/g (989レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
950: 949 05/01/08 19:12 ID:TEnfV1Iz(2/2) AAS
すみません。mb_eregにしたら出来ました。PHP4では、mb_eregに
すれば出来るんですね。お騒がせしました。。。
951: 05/01/08 19:29 ID:??? AAS
>>948
実はHTMLタグの削除と正規表現は相性が悪かったり。
外部リンク[html]:www.kt.rim.or.jp
それでもやるとしたら、
$str =~ s/<a\s[^>]*?>(.*?)<\/a>/$1/ig;
ぐらいかな。
一部が残るのは分からない。
952: 05/01/08 19:49 ID:/O5s2fue(1) AAS
外部リンク:rinristarin.value-net.net リリカちゃんが
エッチしたら更新する日記。最近ずっとこの子に萌えっす。
俺ともお願いぃぃ・・・
953: 05/01/08 20:06 ID:??? AAS
>>948
<A>タグが残ってるという理由じゃないだろうな
954(1): 05/01/08 21:06 ID:??? AAS
タグ間のテキストを抽出しないのなら開始タグ、終了タグを無視して削除するとか。
955: 05/01/09 10:04 ID:??? AAS
splitで最初の「:」だけで区切るにはどんな正規表現使えばいい?
@data = split(/:/, $str);
だと、余分な区切りまで・・・
956: 05/01/09 10:17 ID:??? AAS
@data = split(/:/, $str, 2); じゃなかったかな。
957: 05/01/09 10:32 ID:??? AAS
性器表現ならこうか
@data = $str =~ m/^([^:]*):(.*)/;
958: 05/01/09 15:20 ID:??? AAS
>>954
それだね。
s/<\/?a(\s[^>]*)?>//ig
これぐらいでもいいかも。
959(3): 05/01/11 22:33 ID:nnjmq/8Z(1) AAS
apacheの httpd.conf弄りたいんですが、
http://*.hoge.jp/
ってどうやって書くんでしょう?書籍とかと数時間格闘しましたが
ぱっさり理解できないのです
960: 05/01/11 22:40 ID:??? AAS
>>959
もっと具体的に。
961: 05/01/11 22:42 ID:??? AAS
とてもスレ違いな悪寒
962(1): 05/01/12 00:48 ID:mmvJMOP+(1) AAS
例えば
文字列 = "例えば(その1)や(その2)など";
で( )の中身をとりたいんすけど素直に"/\((.+)\)/"とすると
"その1)や(その2"がマッチしてしまいます。
"/\(([^\(]+)\)/"とすると"その1"しかマッチしてくれません。
whileを使ってもうまくいきません。どのようにしたらいいでしょうか。
phpでpreg_matchしています。
963: 05/01/12 00:56 ID:??? AAS
"/\(([^)]+)\)/"の間違いじゃないのか
そしてpreg_match_allの間違いじゃないのか
964: 05/01/12 00:58 ID:??? AAS
つーか"/\((.+?)\)/"でOKか
965: 962 05/01/12 01:10 ID:??? AAS
963さん、964さんありがとうございました。
それでいけました。
使ってるリファレンス本にpreg_match_allがのってなかったので気付きませんでした。
きちんとマニュアル読むようにします。
966(1): 959 05/01/12 13:29 ID:o9KFPT4S(1) AAS
レスありがとうございます。
直リンクを防ぐために
httpd.confを次のように弄ったのですが、
上手く動作しませんでした。
サブドメインからのアクセスなら、
サブドメインが何でも、直リンクにはならないように設定したいのです。
自宅サーバー板で正規表現を勉強しろ、とのコメントをいただいて、
悪戦苦闘してるんですが、パッサリ理解できないのでございます。
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://*\.hogehoge\.jp/.*$ [NC]
省6
967(1): 05/01/12 14:01 ID:??? AAS
> !^http://*\.hogehoge\.jp/.*$
*は直前の文字が0以上繰り返される、という意味なので、上の式がマッチするのは
外部リンク:.hoge...
http:////.hoge . . .
http:///////////////////////////////////////////////.hoge . . .
など。
どんな文字でもマッチさせるには、「.」の0もしくは1以上の繰り返し、と書けばいいんだが、
あらゆるパスにマッチする正規表現はかけてるのに、あらゆるサブドメインにマッチする
正規表現が書けないとはこれいかに。
968(1): 05/01/12 14:04 ID:??? AAS
>>966
正規表現で「 * 」は「直前の文字や正規表現を 0回以上繰り返す」という意味なので、
上の例の「 /* 」の箇所で「 / を 0回以上繰り返す」という意味になっちゃってる。
おそらくそこでやりたいのは「アルファベットを 1回以上繰り返す」だと思うので、
「 !^http://[a-z]+\.hogehoge\.jp/.*$ 」とすればいいんじゃないかな。
「 + 」は 1回以上繰り返す意味。
969(1): 05/01/12 15:11 ID:1iafFrJp(1) AAS
<a name="a193"></a><dt>
<span class="2ch_number">193</span> :
<span class="2ch_name">以下、名無しにかわりましてVIPがお送りします</span>:
<span class="2ch_date">05/01/12 13:43:10 ID:Zzzz4wKL</span></dt>
<dd>
<a href="外部リンク:jumpres"><a href="外部リンク:jumpres">>>183</a></a>
のレスをよく見ていえよ
<a href="外部リンク:jumpres"><a href="外部リンク:jumpres">>>187</a></a>! <br><br></dd>
↑のこういう一行(長いから改行してるけど)から>>999の左右にある<a></a>を外すっていうのをやりたいです。
どうしたらいいですか?
上下前次1-新書関写板覧索設栞歴
あと 20 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.012s