dポイントプレゼントキャンペーン実施中!

電話番号のデータ検索で、ハイフンが入っていたり、入っていなかったりして、検索の値を、Getパラメーターで取得したデータの「-」ハイフンを抜いて検索の値に格納したいのですが、$_GET['tel']をstr_replaceしても、「-」でexplode後、implodeしてもデータ検索にひっかかりません。
$_GET['tel']のデータ変換を行う方法ありましたら教えて下さい。
宜しくお願いします。

A 回答 (2件)

1.どうstr_replace()したのか?


2.何を「-」でexplode()したのか?
3.どうimplode()したのか?
4.$_GET['tel']のデータをどう変換したいのか?



を、書かないと質問の意図が抽象的すぎて答えずらいです、、、。

この回答への補足

1.str_replaceは、検索対象の電話番号[tel]をGETした時に変換し、
検索条件へ入れました。
$_GET['tel'] = str_replace("-","",$_GET['tel']);
$searchString .= "(tel LIKE '%".$_GET['tel']."%') AND ";

2、3のexplode、implodeは、「-」でexplode後、結合しました。
$_GET['tel'] = explode("-",$_GET['tel']);
$_GET['tel'] = implode("",$_GET['tel']);
$searchString .= "(tel LIKE '%".$_GET['tel']."%') AND ";

3、具体的なデータ変換内容は、
データとして入っている「090-1234-5678」を検索したい場合に、
検索文字で「09012345678」と入れても検索結果として取得したいようにしたいのです。

調べていたら、strposという関数で、「-」が何文字目にあるか取得して、その結果部分をsubstrで文字指定して電話番号を抜き出せばいいかと思いましたが、まだ試していません。

宜しくお願いします。

補足日時:2007/10/05 12:35
    • good
    • 0

以下サンプルで正常にハイフンを除くので、検索の仕方が悪いのでは?



$a = '090-1234-5678';
$b = '09012345678';

echo "str_replace<br>\n";
echo str_replace("-","",$a) ."<br>\n";
echo str_replace("-","",$b) ."<br>\n";
echo "<br>\n";
echo "explode<br>\n";
print_r(explode("-",$a));
print "<br>\n";
print_r(explode("-",$b));
print "<br>\n";
print "<br>\n";
echo "implode<br>\n";
print implode("",explode("-",$a));
print "<br>\n";
print implode("",explode("-",$b));
print "<br>\n";

この回答への補足

サンプルありがとうございます。

サンプル例をGETで試してみたら、
きちんと、「09012345678」の結果がでました。

検索方法が悪いのかもしれませんので、
考え直してみます。

回答ありがとうございました。

補足日時:2007/10/05 14:40
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!