
詳しくないので質問内容におかしな点が多々あるかと思いますが・・
サイト内検索でcsvファイルから文字列を呼び出し一致した文字列を出力するというスクリプトで
完全に一致した文字列だけ出力させたいのですが、
たとえばcsvに「AAA」「ABC」「ARZ」のデータがあり
「A」で検索しても何も出力されず、「AAA」と検索した時だけ「AAA」だけを出力したいのですが
「A」で検索すると「A」から始まる全ての文字列(↑で挙げた文字列全て)が出力されてしまって困っています。
どの部分を変えると完全に一致した文字列だけを検索できるようになるのか指摘してくださればと思います。
<?php
function funcSiteLink($str, $pass, $csvFileName){
if($str){
$keyword = mb_convert_kana($str, "s","SJIS");
$arr_keyword = preg_split('/[\s]+/', $keyword, -1, PREG_SPLIT_NO_EMPTY);
$file = fopen($csvFileName,"r");
$i = 0;
while(!feof($file)){
$csv = fgets($file);
$str = explode(",", $csv);
$keywordPassArr[$i] = $str;
$i++;
}
$judg = 0;
foreach($arr_keyword as $val){
foreach($keywordPassArr as $kpa){
preg_match("/$val/", $kpa[0], $matches, PREG_OFFSET_CAPTURE);
if($matches[0][1] === 0){
echo '<p><a href="'.$pass .$kpa[1] .'">' .$kpa[0] .'</a></p>';
$judg++;
}
}
}
if($judg === 0){
echo "<p>一致しません</p>";
}
fclose($file);
}else{
echo "<p>一致しません</p>";
}
}
?>
No.2ベストアンサー
- 回答日時:
PHPは専門外なので、見当違いな回答ならスルーしてくださいな。
preg_match("/$val/", $kpa[0], $matches, PREG_OFFSET_CAPTURE);
↓
preg_match("/^$val\$/", $kpa[0], $matches, PREG_OFFSET_CAPTURE);
としてみたらどうでしょうか?
No.1
- 回答日時:
>「A」で検索しても何も出力されず、「AAA」と検索した時だけ「AAA」だけを出力したい
命題が矛盾していませんか?
「A」が「AAA」に含まれないという箇所をどう判断するロジックなのか示すべきです
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
GDで生成したはずの画像が文字...
-
PHPをSJISでやるのは不可能
-
PHPのif文でその処理を途中で抜...
-
makefile でファイルをコピーす...
-
.phpと.incファイルの違いはな...
-
FTPコマンドでディレクトリごと...
-
CFileDialogの最初のディレクト...
-
Subversionのリポジトリの削除
-
ftpでアップロードが出来ない
-
フォントの色を変えるには?
-
mysql複数レコードをまとめて削...
-
【file_exists】ファイルが存在...
-
phpMyAdminに画像を保存できない
-
SQLiteに画像を格納したい
-
FORMで送信ボタンと戻るボタン...
-
phpからoutlook起動
-
phpのftp_get()でエラーが出ます。
-
Apacheでhttp://localhost/が表...
-
バッチを用いたフォルダの自動移動
-
phpのクラスにて別ファイルの変...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CSV出力にHTMLが入ってしまう
-
mPDFでのPDF出力がうまくいかな...
-
ob_end_clean と ob_clean の違...
-
webroot以外の画像の表示
-
TCPDFについて
-
¥マークを出力したいがバック...
-
PHPで取得したHTML内のdiv要素...
-
PHPにおける時間計算、時間足し...
-
PHPSpreadsheetによる書き出し...
-
PHPがうまく表示されない・・・?
-
warningを画面に表示させない設...
-
エクスプローラーでフォルダを...
-
リダイレクト元のURLの取得方法...
-
ヒアドキュメント 前にタブを...
-
GDで生成したはずの画像が文字...
-
論理演算 NAND に関しての質問
-
【PHP】関数で処理が止まってる...
-
json_encode日本語表示/PHP5.2.5
-
GDで画像表示
-
モバイルサイトでFXチャートを表示
おすすめ情報