user3350169
user3350169

Reputation: 209

How to match both e and é in php

I am retrieving a data from data base in that some of the array contains a result like this.

playa|beach|mar|isco

When the user types e or é.I want to display only "beach".If the user types i or í i want to display only "isco". I am using this code:

$indx=0;
while($row = mysql_fetch_array($rc)){

    if (strpos($row['texto'],'|') !== false) {

        $pieces = explode("|", $row['texto']);
        foreach($pieces as $key => $one) {
           if(strpos($one, $fincas) !== false)
               $indx=$key;
        }
        $row['texto'] = $pieces[$indx];
    }
}

When the user types "e" its displaying properly "beach" but when the user types "é" its displaying "playa".

In php i have to display an array which contains e or é(i or í)

Upvotes: 0

Views: 52

Answers (1)

Shadow Radiance
Shadow Radiance

Reputation: 1369

First of all, you need to make sure you're getting the POST in a standard format.

Ensure:

  • in HTTP Header: Content-Type:text/html; charset=UTF-8
  • in HTML Head:
  • in the form tag:

Then, before starting your loop, translate $fincas into "normalized" ascii:

iconv("utf-8","ascii//TRANSLIT",$fincas);

That should do it.

Upvotes: 1

Related Questions