Alih keluar aksara berikut ½ ´ ¤ £ € ¨ menggunakan php tetapi tanpa menggunakan fungsi preg_replace atau str_replace
P粉163465905
P粉163465905 2023-09-12 20:08:13
0
1
530

Saya ada masalah nak selesaikan. Saya tidak boleh menggunakan preg_replace 或 str_replace kerana kami tidak boleh menentukan aksara kerana data datang daripada input borang.

Saya cuba mengalih keluar aksara ini daripada ini $name "Test ½ ´ ¤ £ € ¨" ½ ´ ¤ £ € ¨;

Begitu juga untuk bahagian hadapan, watak tidak boleh ditentukan terlebih dahulu

Saya telah mencuba kaedah di bawah tetapi tiada satu pun yang berkesan

$name = "Test ½ ´ ¤ £ € ¨";

mb_convert_encoding(strval($name);

utf8_decode(strval($name);

Keluaran ideal saya ialah Ujian

P粉163465905
P粉163465905

membalas semua(1)
P粉731861241

Anda sentiasa boleh mengulangi aksara dalam rentetan. Tetapi berhati-hati: PHP tidak menyokong Unicode secara asli.

$remove = array( '½', '´', '¤', '£', '€' );
$result = '';
$name = "Test ½ ´ ¤ £ € ¨";

$count = mb_strlen($name, 'UTF-8');
for( $i = 0; $i < $count; $i++ ){
    $char = mb_substr( $name, $i, 1, 'UTF-8' );
    if( ! in_array( $char, $remove ) {
      $result .= $char;
    }
}

Ini bergelung melalui aksara berbilang bait dalam rentetan yang dibekalkan pengguna dan membolehkan anda melakukan apa sahaja yang anda mahu dengannya. Contoh membina rentetan yang terhasil, meninggalkan aksara yang anda nyatakan. (Tidak debug, maaf.)

(IMHO, saya rasa alasan anda untuk mengelakkan fungsi penggantian rentetan mungkin salah. Faedah menggunakan kelas aksara regex ialah ini: pengarang regex telah menyelesaikan banyak kes kelebihan pelik di mana Unicode menyertakan Banyak situasi yang membuat orang tidak senang)

.
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan