詳しくないので質問内容におかしな点が多々あるかと思いますが・・
サイト内検索で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で質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Excel(エクセル) Powershell エクセル検索 完全一致の方法 1 2022/06/05 20:19
- Visual Basic(VBA) VBA初心者です 検索した数字の行に色をつける 5 2023/02/13 14:22
- PHP SQLとPHPの連結方法がわからないのでアドバイスお願い致します 1 2022/07/12 12:16
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
- Excel(エクセル) 指定文字列が該当するA列をアクティブセルにするには 3 2022/08/17 13:18
- Visual Basic(VBA) 【VBA】特定の文字で改行(次の行)に行きたい。 3 2022/04/11 17:20
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
リダイレクト元のURLの取得方法...
-
phpにcssを適応させたい...
-
phpでmysqlから画像パスを出力する
-
PHPで五角形、または多角形のグ...
-
XMLのロードに失敗する
-
PHPのif文でその処理を途中で抜...
-
【file_exists】ファイルが存在...
-
onedrive にexcelファイルをア...
-
拡張子php画像をjpg画像等に変...
-
youtubeに音声のみのmp4ファイ...
-
PHPのMySQLモジュールのインス...
-
pixivのイラスト投稿の仕方を教...
-
javascriptからphpへ変数
-
PHPで作るフレーム、どんな風に...
-
PHPで外部プログラムのバックグ...
-
FTPでのファイルとディレクトリ...
-
ファイルアップロードの上限を...
-
フレームワークの選定について
-
ヒアドキュメントの中で別ファ...
-
PHP8を使うと、大量のWarningが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CSV出力にHTMLが入ってしまう
-
TCPDFについて
-
リダイレクト元のURLの取得方法...
-
PHPでダブルバッファリング(画...
-
ob_end_clean と ob_clean の違...
-
phpにcssを適応させたい...
-
PHPSpreadsheetによる書き出し...
-
PHPで`headers already sent`と...
-
PHPで取得したHTML内のdiv要素...
-
image関数でMS Pゴシックを使い...
-
PHP/phpMyAdmin/データベースな...
-
mPDFでのPDF出力がうまくいかな...
-
画像をDBに保存し、表示させ...
-
エクスプローラーでフォルダを...
-
json_encode日本語表示/PHP5.2.5
-
webroot以外の画像の表示
-
¥マークを出力したいがバック...
-
phpで数字の値を画像で表示した...
-
phpexcelにてsubmitボタンを押...
-
PHP header関数が使えない
おすすめ情報