0
if (isset($result_array)) {
    foreach ($result_array as $result) {
        // Format Output Strings And Hightlight Matches
        $display_function = preg_replace("/".$search_string."/i", "<b class='highlight'>".$search_string."</b>", $result['email']);
        $display_name = preg_replace("/".$search_string."/i", "<b class='highlight'>".$search_string."</b>", $result['email']);
        //$display_url = 'http://php.net/manual-lookup.php?pattern='.urlencode($result['function']).'&lang=en';

        // Insert Name
        $output = str_replace('nameString', $display_name, $html);

        // Insert Function
        $output = str_replace('functionString', $display_function, $output);

        // Insert URL
        //$output = str_replace('urlString', $display_url, $output);

        // Output
        echo($output);
    }

入力がデータベース内の電子メールと一致するかどうかを検索すると、電子メールアドレスの @ の前のすべてをチェックしたいだけで、@ の後のすべてを無視します。どうすればそれができますか?

私は入れようとします

$result = array_shift(explode('@', $result['email']));

display_function の前。結果の @ の後のすべてを削除します。それでも間違った結果が表示されます。@ の後の電子メール部分に一致する入力文字列

4

3 に答える 3

0

strstr()PHPで利用する

<?php
$email  = 'name@example.com';
$user = strstr($email, '@', true);
echo $user;//prints name

あなたの例をリンクしています...

$result = strstr($result['email'],'@',true);
于 2013-12-05T06:01:36.537 に答える
0

これを試して

$result = preg_split("/(@)/", $result['email']);
echo $result[0];
于 2013-12-05T06:04:01.553 に答える