[PHP-users 11661] 文字列のマッチングについて

yushi kawaura php-users@php.gr.jp
Thu, 21 Nov 2002 17:22:01 +0900


 はじめまして、
 いつも、参考にさせていただいております。

 今、あるプログラムを書いていたんですが、どうしても
 抜けた出せなくなってしまったので質問させてください。

 $targetに$wordsが含まれているか調べたいのですが、

---------------さんぷる
<?php
$target="テスト文字列です〜。\nどうにかできるかなー?";
if($words !=''){
	if (ereg($words,$target)){
		echo "発見!\n";
	}else{
		echo "なし!\n";
	}
}
?>
<html>
<body>
<form method="post">
<input type=text name=words value="<? echo $words ?>">
<input type=submit>
</form>
</body>
</html>
--------------------

で、フォームに「ー」を入れると、
Warning: REG_EBRACK in /home/hogehoge/test.php on line 4
なし! 

と出てうまくいきません。
strstr($target,$words)でも、うまく取れません。
またフォームに「−」を入れると
Warning: REG_EMPTY in  /home/hogehoge/test.php on line 4
と出ます。
ーと−はだめみたいなのですが、そのほかの文字は大丈夫みたいです。

これって、回避できますでしょうか?

環境 RedHatLinux7.3
PHP 4.2.3( 国際化版(2002/09/29付けのSTABLE版)) register_globals = On
 コンパイルオプション
./configure \
 --prefix=/usr/local \
 --enable-mbstring \
 --enable-mbstr-enc-trans \
 --enable-track-vars \
 --enable-gd-native-ttf \
 --enable-trans-sid \
 --with-ttf=/usr \
 --with-gd=/home/irteam/ghost/local \
 --with-png-dir=/usr/locall \
 --with-zlib-dir==/usr/local \
 --with-jpeg-dir==/usr/locall \
 --with-mysql==/usr/localmysql \
 --with-apxs==/usr/local/apache/bin/apxs 

apacheは1.3.27です。